forked from SimplesIP/pabx-app
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
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; |
|
} |
|
?> |
|
|
|
|
|
|