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;
}