AcaoRamal_Asterisk( $dbcon, $acaoDest, $org_id), "ura" => AcaoURA_Asterisk($dbcon, $acaoDest, $org_id), "voice" => AcaoVoice_Asterisk($dbcon, $acaoDest, $org_id), "grupo" => Acaogrupo_Asterisk($dbcon, $acaoDest, $org_id), "filas" => AcaoFilas_Asterisk($dbcon, $acaoDest, $org_id), "horarios" => AcaoHorarios_Asterisk($dbcon, $acaoDest, $org_id), "disa" => AcaoDisa_Asterisk($dbcon, $acaoDest, $org_id), "anuncios" => AcaoAnuncios_Asterisk($dbcon, $acaoDest, $org_id), "conferencia" => AcaoConferencia_Asterisk($dbcon, $acaoDest, $org_id), "callback" => AcaoCallback_Asterisk($dbcon, $acaoDest, $org_id), "integativa" => Acaointegativa_Asterisk($dbcon, $acaoDest, $org_id), "rotaInterna" => AcaoRotaInterna_Asterisk($dbcon, $acaoDest, $org_id), "repetir" => AcaoRepetir_Asterisk( ), "desligar" => AcaoDesligar_Asterisk( ) }; if ($opcao2 == "departamento") { return AcaoDepartamento_Asterisk($dbcon, $acaoDest, $org_id, $idEmpresa); } return $result; } function AcaoRamalExist($dbcon, $acaoDest, $org_id){ $query = "select ramal_numero from pabx_ramais where org_id = $1 and ramal_numero = $2"; pg_prepare($dbcon, "opcao_ramal", $query); $result = pg_execute( $dbcon, "opcao_ramal", array($org_id, $acaoDest ) ); if( $result === false ){ return false; } if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoURAExist($dbcon, $acaoDest, $org_id){ $ura = explode("-", $acaoDest, 2); $query = "SELECT id, nome FROM pbx_ura where org_id = {$org_id} and id = {$ura[0]} and nome = '{$ura[1]}'"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoVoiceExist($dbcon, $acaoDest, $org_id){ $caixa_postal = explode( "/", $acaoDest, 2 ); $compara1 = strcasecmp("ocupado", $caixa_postal[1] ); $compara2 = strcasecmp("ausente", $caixa_postal[1] ); $compara3 = strcasecmp("silencio", $caixa_postal[1] ); if( $compara1 != 0 && $compara2 != 0 && $compara3 != 0 ){ return false; } $query = "SELECT caixa_postal FROM pbx_voicemail_usuarios where org_id = {$org_id} and caixa_postal = '$caixa_postal[0]'"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaogrupoExist($dbcon, $acaoDest, $org_id){ $query = "SELECT * FROM pbx_grupos where org_id = {$org_id} and numero = '$acaoDest' order by id asc"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoFilasExist($dbcon, $acaoDest, $org_id){ $query = "SELECT numero FROM pbx_queues_grupos where status='A' and org_id = {$org_id} and numero = '$acaoDest'"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoHorariosExist($dbcon, $acaoDest, $org_id){ $query = "SELECT distinct a.id from pbx_horarios a, pbx_horarios_itens b where a.org_id = {$org_id} and a.org_id = b.org_id and b.id_horario = a.id and a.id = $acaoDest order by nome asc"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoDisaExist($dbcon, $acaoDest, $org_id){ $query = "SELECT numero FROM pbx_disa where org_id = {$org_id} and numero = '$acaoDest'"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoAnunciosExist($dbcon, $acaoDest, $org_id){ $query = "SELECT * FROM pbx_anuncios where org_id = {$org_id} and id = $acaoDest order by nome asc"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoConferenciaExist($dbcon, $acaoDest, $org_id){ $query = "SELECT * FROM pbx_conferencia where org_id = {$org_id} and numero = $acaoDest order by numero asc"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoCallbackExist($dbcon, $acaoDest, $org_id){ $query = "SELECT distinct id, descricao FROM pbx_callback where org_id = {$org_id} and id = $acaoDest order by descricao "; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaointegativaExist($dbcon, $acaoDest, $org_id){ $query = "select b.itgm_id as itgm_id, a.itgc_nome || '-' || b.itgm_nome as itgc_nome from pbx_integracao_configuracao a, pbx_integracao_metodo b where org_id = {$org_id} and b.itgm_id = $acaoDest and b.itgc_id = a.itgc_id and b.itgm_retorno = 1 order by a.itgc_nome, b.itgm_nome"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } function AcaoRotaInternaExist($dbcon, $acaoDest, $org_id){ $query = "select b.modelo as id, b.modelo as nome from pbx_rotas_saida a, pbx_rotas_saida_modelos b where org_id = {$org_id} and b.id_rota = a.id and upper(a.tipo) = 'I' and b.modelo = '$acaoDest' order by 1"; $result2 = pg_query($dbcon, $query); if ( pg_num_rows($result2) > 0){ return true; } return false; } function AcaoRepetirExist($acaoDest){ if(!strcmp( "repetir", $acaoDest )){ return true; } return false; } function AcaoDesligarExist($acaoDest){ if(!strcmp( "desligar", $acaoDest) ){ return true; } return false; } /* empresa de PBX -> cadastro -> outros -> empresa */ function AcaoDepartamentoExist($dbcon, $acaoDest, $org_id, $idEmpresa){ $query = "SELECT * FROM pbx_departamentos where org_id = {$org_id} and empresa = '$idEmpresa' and id = $acaoDest order by id asc"; $result = pg_query($dbcon, $query); if ( pg_num_rows($result) > 0){ return true; } return false; } /*Verifica se as opções informado pelo usuário existe no banco de dados */ /* empresa de PBX -> cadastro -> outros -> empresa */ function AcoesExist($dbcon, $opcao, $acaoDest, $opcao2=0, $idEmpresa=0){ $org_id = $_SESSION['SSEmpresaPadrao']; $result = false; $result = match($opcao){ "ramal" => AcaoRamalExist( $dbcon, $acaoDest, $org_id), "ura" => AcaoURAExist($dbcon, $acaoDest, $org_id), "voice" => AcaoVoiceExist($dbcon, $acaoDest, $org_id), "grupo" => AcaogrupoExist($dbcon, $acaoDest, $org_id), "filas" => AcaoFilasExist($dbcon, $acaoDest, $org_id), "horarios" => AcaoHorariosExist($dbcon, $acaoDest, $org_id), "disa" => AcaoDisaExist($dbcon, $acaoDest, $org_id), "anuncios" => AcaoAnunciosExist($dbcon, $acaoDest, $org_id), "conferencia" => AcaoConferenciaExist($dbcon, $acaoDest, $org_id), "callback" => AcaoCallbackExist($dbcon, $acaoDest, $org_id), "integativa" => AcaointegativaExist($dbcon, $acaoDest, $org_id), "rotaInterna" => AcaoRotaInternaExist($dbcon, $acaoDest, $org_id), "repetir" => AcaoRepetirExist($acaoDest), "desligar" => AcaoDesligarExist($acaoDest) }; if ($opcao2 == "departamento") { return AcaoDepartamentoExist($dbcon, $acaoDest, $org_id, $idEmpresa); } return $result; } function _GetOpcoes($conn, $opcao, $incDesligar = 0, $incApi = 1, $notview = []) { $query = "select value, name from pbx_opcoes where 1=1 "; if (!$incDesligar) { $query .= " and value not in ('repetir','desligar') "; } if (!$incApi) { $query .= " and value <> 'integativa' "; } $query .= " order by name"; $result = pg_query($conn, $query); $sel = !$opcao ? "selected" : ""; $ret = sprintf("\n", $sel); while ($dados = pg_fetch_array($result)) { if (!in_array($dados['value'], $notview)) { $sel = ($opcao == $dados['value']) ? "selected" : ""; $ret .= sprintf("\n", $dados['value'], $sel, $dados['name']); } } return $ret; } function _GetIntegracaoMetodo($conn, $opcao = '') { $query = "SELECT b.itgm_id AS itgm_id, a.itgc_nome || '-' || b.itgm_nome AS itgc_nome FROM pbx_integracao_configuracao a, pbx_integracao_metodo b WHERE b.itgc_id = a.itgc_id AND b.itgm_retorno = 0 AND b.itgm_nome <> 'NOEXEC' "; $query .= " AND a.org_id = " . GetOrganizacao(); $query .= " ORDER BY a.itgc_nome, b.itgm_nome"; $result = pg_query($conn, $query); $sel = $opcao == '' ? 'selected="selected"' : ''; $ret = sprintf("\n", $sel); while ($dados = pg_fetch_array($result)) { $sel = ($opcao == $dados['itgm_id']) ? "selected" : ""; $ret .= sprintf("\n", $dados['itgm_id'], $sel, $dados['itgc_nome']); } return $ret; }