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.
 
 
 
 
 
 

224 lines
9.6 KiB

<?php
if (isset($_GET["tipo"])) {
session_start();
include('bd.php');
}
define("PROTO_XML", "XML");
define("PROTO_TXT", "TEXT");
if (!isset($_getAcoes_)) {
header("Content-type: text/xml; charset=ISO-8859-1");
echo _GetAcoes($dbcon, $force, $id, $tipo, $tipo2, $id_ura);
}
function _GetAcoes($dbcon, $force, $id, $tipo, $tipo2, $id_ura, $proto = PROTO_XML) {
$tipo = isset($_GET["tipo"]) ? $_GET["tipo"] : $tipo;
$tipo2 = isset($_GET["tipo2"]) ? $_GET["tipo2"] : $tipo2;
$id = isset($_GET["id"]) && !isset($force) ? $_GET["id"] : $id;
$id_ura = isset($_GET["id_ura"]) ? $_GET["id_ura"] : $id_ura;
$proto = isset($_GET["proto"]) || isset($proto) ? (isset($proto) ? $proto : $_GET["proto"]) : PROTO_XML;
$dadosArq = array();
$dadosLinha = array();
$idxArq = 0;
if ($proto == PROTO_XML) {
$ret = '<?xml version="1.0" encoding="ISO-8859-1" ?>';
$ret .= '<cidades>';
}
if ($tipo == "ramal") {
$query2 = "select id,nome from pbx_ramais order by nome asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2["nome"];
$dadosArq[$idxArq][1] = $dados2["nome"];
$idxArq++;
// printf("<nome id=\"%s\">%s</nome>\n", $dados2["nome"],$dados2['nome']); //($tipo=="ramal")
}
} else if ($tipo == "ura") {
if ($id_ura <> '') {
$query2 = "SELECT * FROM pbx_ura where id not in($id_ura) order by nome asc";
} else {
$query2 = "SELECT * FROM pbx_ura order by id asc";
}
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['id'] . '-' . $dados2['nome'];
$dadosArq[$idxArq][1] = $dados2['nome'];
$idxArq++;
//printf("<nome id=\"%d\">%s</nome>\n",$dados2['id'].'-'.$dados2['nome'],$dados2['nome']);
}
} else if ($tipo == "voice") {
$query2 = "SELECT * FROM pbx_voicemail_usuarios order by caixa_postal asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
if (trim($dados2['caixa_postal']) != '') {
for ($i = 1; $i <= 3; $i++) {
switch ($i) {
case 1: $tipo = 'ocupado';
break;
case 2: $tipo = 'ausente';
break;
case 3: $tipo = 'silencio';
break;
}
$dadosArq[$idxArq][0] = $dados2['caixa_postal'] . '/' . $tipo;
$dadosArq[$idxArq][1] = $dados2['caixa_postal'] . '/' . $tipo;
$idxArq++;
//printf("<nome id=\"%s\">%s</nome>\n",$dados2['caixa_postal'].'/'.$tipo,$dados2['caixa_postal']." - ".$tipo);
}
}
}
} else if ($tipo == "grupo") {
$query2 = "SELECT * FROM pbx_grupos order by id asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['numero'];
$dadosArq[$idxArq][1] = $dados2['descricao'];
$idxArq++;
//printf("<nome id=\"%d\">%s</nome>\n",$dados2['numero'],$dados2['numero']);
}
} else if ($tipo == "filas") {
$query2 = "SELECT * FROM pbx_queues_grupos where status='A' order by nome asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['numero'];
$dadosArq[$idxArq][1] = $dados2['nome'];
$idxArq++;
// printf("<nome id=\"%s\">%s</nome>\n",$dados2['numero'],$dados2['nome']);
}
} else if ($tipo == "horarios") {
$query2 = "SELECT distinct a.id, a.nome from pbx_horarios a, pbx_horarios_itens b where b.id_horario = a.id order by nome asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['id'];
$dadosArq[$idxArq][1] = $dados2['nome'];
$idxArq++;
//printf("<nome id=\"%d\">%s</nome>\n",$dados2['id'],$dados2['nome']);
}
} else if ($tipo == "disa") {
$query2 = "SELECT * FROM pbx_disa order by id asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['numero'];
$dadosArq[$idxArq][1] = $dados2['descricao'];
$idxArq++;
//printf("<nome id=\"%d\">%s</nome>\n",$dados2['numero'],$dados2['numero']);
}
} else if ($tipo == "anuncios") {
$query2 = "SELECT * FROM pbx_anuncios order by nome asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['id'];
$dadosArq[$idxArq][1] = $dados2['nome'];
$idxArq++;
//printf("<nome id=\"%d\">%s</nome>\n",$dados2['id'],$dados2['nome']);
}
} else if ($tipo == "conferencia") {
$query2 = "SELECT * FROM pbx_conferencia order by numero asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['numero'];
$dadosArq[$idxArq][1] = $dados2['numero'];
$idxArq++;
//printf('<nome id="'.$dados2['numero'].'">'.$dados2['numero'].'</nome>');
}
} else if ($tipo == "callback") {
$query2 = "SELECT distinct id, descricao FROM pbx_callback order by descricao ";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['id'];
$dadosArq[$idxArq][1] = $dados2['descricao'];
$idxArq++;
// printf('<nome id="'.$dados2['id'].'">'.$dados2['descricao'].'</nome>');
}
} else if ($tipo == "integativa") {
$query2 = "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 = 1 order by a.itgc_nome, b.itgm_nome";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['itgm_id'];
$dadosArq[$idxArq][1] = $dados2['itgc_nome'];
$idxArq++;
// printf('<nome id="'.$dados2['id'].'">'.$dados2['descricao'].'</nome>');
}
} else if ($tipo == "rotaInterna") {
//$query2 = "select id, nome from pbx_rotas_saida where upper(tipo) = 'I' order by nome ";
$query2 = "select b.modelo as id, b.modelo as nome
from pbx_rotas_saida a, pbx_rotas_saida_modelos b
where b.id_rota = a.id
and upper(a.tipo) = 'I'
order by 1";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['nome'];
$dadosArq[$idxArq][1] = $dados2['nome'];
$idxArq++;
// printf('<nome id="'.$dados2['id'].'">'.$dados2['nome'].'</nome>');
}
} else if ($tipo == "integativa") {
//$query2 = "select id, nome from pbx_rotas_saida where upper(tipo) = 'I' order by nome ";
$query2 = "select b.itgm_id as id, a.itgc_nome || '-' || b.itgm_nome as nome
from pbx_integracao_configuracao a, pbx_integracao_metodo b
where b.itgc_id = a.itgc_id and b.itgm_retorno = 1 order by a.itgc_nome, b.itgm_nome";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['id'];
$dadosArq[$idxArq][1] = $dados2['nome'];
$idxArq++;
// printf('<nome id="'.$dados2['id'].'">'.$dados2['nome'].'</nome>');
}
} else if ($tipo == "repetir") {
$dadosArq[$idxArq][0] = 'repetir';
$dadosArq[$idxArq][1] = '-------';
$idxArq++;
} else if ($tipo == "desligar") {
$dadosArq[$idxArq][0] = 'desligar';
$dadosArq[$idxArq][1] = '-------';
$idxArq++;
}
if ($tipo2 == "departamento") {
$query2 = "SELECT * FROM pbx_departamentos where empresa = '$id' order by id asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
$dadosArq[$idxArq][0] = $dados2['id'];
$dadosArq[$idxArq][1] = $dados2['nome_depto'];
$idxArq++;
//printf("<nome id=\"%d\">%s</nome>\n",$dados2['id'],$dados2['nome_depto']);
}
}
//imprime o arquivo de acorde com o tipo especifidado
if ($proto == PROTO_XML) {
foreach ($dadosArq as $data)
$ret .= sprintf("<nome id=\"%s\">%s</nome>\n", $data[0], $data[1]);
$ret .= ("<valor1 id=\"$id\"></valor1>");
$ret .= ("</cidades>");
} else {
foreach ($dadosArq as $data) {
if (trim($id) == trim($data[0]))
$sel = "selected";
else
$sel = "";
$ret .= sprintf("<option value=\"%s\" %s>%s</option>\n", $data[0], $sel, $data[1]);
}
}
return $ret;
}
?>