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.
211 lines
8.5 KiB
211 lines
8.5 KiB
<?php |
|
|
|
include('util/funcoesApl.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; |
|
$org_id = GetOrganizacao(); |
|
|
|
$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 WHERE org_id = $org_id 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++; |
|
} |
|
} else if ($tipo == "ura") { |
|
if ($id_ura <> '') { |
|
$query2 = "SELECT * FROM pbx_ura where id not in($id_ura) AND org_id = $org_id order by id asc"; |
|
} else { |
|
$query2 = "SELECT * FROM pbx_ura WHERE org_id = $org_id 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++; |
|
} |
|
} else if ($tipo == "voice") { |
|
$query2 = "SELECT * FROM pbx_voicemail_usuarios WHERE org_id = $org_id 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++; |
|
} |
|
} |
|
} |
|
} else if ($tipo == "grupo") { |
|
$query2 = "SELECT * FROM pbx_grupos WHERE org_id = $org_id 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++; |
|
} |
|
} else if ($tipo == "filas") { |
|
$query2 = "SELECT * FROM pbx_queues_grupos where status='A' AND org_id = $org_id order by id asc"; |
|
$result2 = pg_query($dbcon, $query2); |
|
while ($dados2 = pg_fetch_array($result2)) { |
|
$dadosArq[$idxArq][0] = $dados2['numero']; |
|
$dadosArq[$idxArq][1] = $dados2['nome']; |
|
$idxArq++; |
|
} |
|
} 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 AND org_id = $org_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']; |
|
$idxArq++; |
|
} |
|
} else if ($tipo == "disa") { |
|
$query2 = "SELECT * FROM pbx_disa WHERE org_id = $org_id order by id asc"; |
|
$result2 = pg_query($dbcon, $query2); |
|
while ($dados2 = pg_fetch_array($result2)) { |
|
$dadosArq[$idxArq][0] = $dados2['numero']; |
|
$dadosArq[$idxArq][1] = $dados2['numero']; |
|
$idxArq++; |
|
} |
|
} else if ($tipo == "anuncios") { |
|
$query2 = "SELECT * FROM pbx_anuncios WHERE org_id = $org_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']; |
|
$idxArq++; |
|
} |
|
} else if ($tipo == "conferencia") { |
|
$query2 = "SELECT * FROM pbx_conferencia WHERE org_id = $org_id 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++; |
|
} |
|
} else if ($tipo == "callback") { |
|
$query2 = "SELECT distinct id, descricao FROM pbx_callback WHERE org_id = $org_id 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++; |
|
} |
|
} else if ($tipo == "rotaInterna") { |
|
$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 org_id = $org_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++; |
|
} |
|
} else if ($tipo == "integativa") { |
|
$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 |
|
AND org_id = $org_id |
|
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++; |
|
} |
|
} 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 org_id = $org_id AND cod_empresa = $id ORDER BY id"; |
|
$result2 = pg_query($dbcon, $query2); |
|
while ($dados2 = pg_fetch_array($result2)) { |
|
$dadosArq[$idxArq][0] = $dados2['id']; |
|
$dadosArq[$idxArq][1] = $dados2['nome_depto']; |
|
$idxArq++; |
|
} |
|
} |
|
|
|
if ($proto == PROTO_XML) { |
|
foreach ($dadosArq as $data) { |
|
if (($tipo == "repetir") || ($tipo == "desligar")) { |
|
$ret .= sprintf("<nome id=\"%s;%s\">%s</nome>\n", $data[0], $data[0], $data[1]); |
|
} else { |
|
$ret .= sprintf("<nome id=\"%s;%s\">%s</nome>\n", $data[0], $data[1], $data[1]); |
|
} |
|
} |
|
$ret .= ("<valor1 id=\"$id\"></valor1>"); |
|
$ret .= ("</cidades>"); |
|
} else { |
|
foreach ($dadosArq as $data) { |
|
if (trim($id) == trim($data[0])) { |
|
$sel = "selected"; |
|
} else { |
|
$sel = ""; |
|
} |
|
|
|
if (($tipo == "repetir") || ($tipo == "desligar")) { |
|
$ret .= sprintf("<option value=\"%s;%s\" %s>%s</option>\n", $data[0], $data[0], $sel, $data[1]); |
|
} else { |
|
$ret .= sprintf("<option value=\"%s;%s\" %s>%s</option>\n", $data[0], $data[1], $sel, $data[1]); |
|
} |
|
} |
|
} |
|
return $ret; |
|
}
|
|
|