PABX da Simples IP
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.
 
 
 
 
 
 

167 lines
7.8 KiB

<?php
// echo MontaMenu(); exit;
/*
* Define o arquivo de template da cosulta
*/
$tpl = 'seguranca/grupos/grupos.tpl';
/*
* Verdadeiro qdo feito o primeiro acesso a pagina
*/
$isPostBack = !isset($_GET["idProg"]);
/*
* Link para janela de inserção
*/
$imgNovo = GetLinkFormInsert("novoGrupo", 'images/novo.gif', $filtroNovo, ' Novo Grupo');
/*
* Armazena mensagem de erro da aplicação
*/
$mensagemErro = "";
$paramPesquisa = isset($_REQUEST['paramPesquisa']) ? $_REQUEST['paramPesquisa'] : '';
$filtro = isset($_REQUEST["paramPesquisa"]) ? trim($_REQUEST["paramPesquisa"]) : '';
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("&paramPesquisa%s&pgn=%s&bloco=%s&pg=%s", $_REQUEST["paramPesquisa"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"]);
$recontaPag = ($acao == 'inseri') || (GetFormAcao() == FORM_DELETE) || isset($_POST['pesquisa']);
/*
* Se o usuario nao for admimistrador carrega apenas
* os grupos ao qual o mesmo pertence
*/
$gpCompl = "";
if (!IsAdmin()) {
$idUser = GetIdUser();
$gpCompl = " and gp_id in( select gp_id from pbx_grupo_usuario where user_id = $idUser)";
}
/*
* Restringe para todos.
*/
$restringLgpd = " and a.gp_id not in(select gp_id from pbx_grupo where gp_nome ilike 'LGPD_%_%_%')";
/*
* Libera apenas para quem tiver acesso atribuido a administracao da lgpd.
*/
$liberaLgpd = '';
if (VerificaPerfilAcesso($dbcon, GetIdProgFromNomeMenu('mnLgpdAdm'))) {
$liberaLgpd = "\nunion\nselect gp_id, gp_nome, gp_status, user_id, 1 as gp_lgpd, case when(user_id = 0)then 0 else 1 end as ord from pbx_grupo a where gp_nome ilike 'LGPD_%_%_%'\n";
}
$acessoAudio = VerificaPerfilAcesso($dbcon, GetIdProgFromNomeArq('audio.php'));
$colspan = $acessoAudio ? 6 : 5;
$compl = '';
if (isset($_REQUEST['paramPesquisa']) && $_REQUEST['paramPesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.gp_nome ilike %s)", $compl);
}
$query = "select gp_id, gp_nome, gp_status, user_id, 0 as gp_lgpd, case when(user_id = 0)then 0 else 1 end as ord from pbx_grupo a\n";
$query .= "where a.gp_nome <> 'SincContaSenha' $compl $gpCompl $restringLgpd $liberaLgpd order by 5, gp_nome";
$params = "&paramPesquisa=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";
$result = pg_query($dbcon, $query);
$linha = "";
while (($result) && ($dados = @pg_fetch_array($result))) {
$grupoUser = $dados['user_id'] > 0; // Indica que é um grupo do proprio usuario.
$id = $dados["gp_id"];
$nome = $grupoUser ? ($dados["gp_nome"] . "**") : $dados["gp_nome"];
$imgYes = "<img src=\"imgSite/stAprovado.png\" width=\"12\" height=\"12\ border=\"0\">";
$imgNo = "<img src=\"imgSite/no.gif\" width=\"12\" height=\"12\ border=\"0\">";
$imgEdit = sprintf("<img src=\"imgSite/%s\" width=\"16\" height=\"16\" border=\"0\" title=\"%s $nome\">", ($grupoUser ? 'editaUserOff.png' : 'editaUser.png'), ($grupoUser ? 'Registro de usuário**, desbilidata a edição: ' : 'Edita este registro:'));
$imgDelete = sprintf("<img src=\"imgSite/%s\" width=\"16\" height=\"16\" border=\"0\" title=\"%s $nome\">", ($grupoUser ? 'deletaUserOff.png' : 'deletaUser.png'), ($grupoUser ? 'Registro de usuário**, desbilidata a deleção: ' : 'Apaga o registro:'));
$imgGrupo = sprintf("<img src=\"imgSite/%s\" width=\"16\" height=\"16\" border=\"0\" title=\"%s\">", ($grupoUser ? 'gruposOff.gif' : 'grupos.gif'), ($grupoUser ? 'Usuário Habilitado apenas para restrições!' : 'Configura usuários do grupo!'));
$imgRamais = "<img src=\"imgSite/audio-fone-registra-apl.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Restringe Acesso aos Áudios!\">";
$imgRevendas = "<img src=\"imgSite/revendas.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Acesso as Revendas!\">";
//$nome = "<a style=\"color: #000;\" href=\"javaScript:NovaJanela('index.php?idProg=$idProg&gp_id=$id', 'grupoCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\"> $nome</a>";
$disab = (!IsAdmin() && IsSysAdmin($nome)) ? 1 : 0;
$nomeMostra = $disab ? $nome : GetLinkFormUpdate("&id=$id", "updGrupos", "", $disab, 1, $nome);
$imgEdit = $grupoUser ? $imgEdit : GetLinkFormUpdate("&id=$id", "updGrupos", "", $disab);
//$imgEdit = "<a href=\"javaScript:NovaJanela('index.php?idProg=84&idUser=$id', 'usuarioCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\"> $imgEdit</a>";
$status = $dados["gp_status"] ? $imgYes : $imgNo;
$delete = $grupoUser ? $imgDelete : "<a href=\"javaScript:DeletaGrupo('" . $dados["gp_id"] . "', '$params');\">" . $imgDelete . "</a>";
$linkGrupo = "<a href=\"javaScript:NovaJanela('index.php?idProg=117&gp_id=%s&gp_nome=%s', 'jnGrupoUsuario', '%s', '%s', 'resizable=NO,scrollbars=NO');\">%s</a>";
$linkGrupo = $grupoUser ? $imgGrupo : sprintf($linkGrupo, $id, $nome, 550, 280, $imgGrupo);
$linkRamais = '';
if ($acessoAudio) {
$linkRamais = "<td width=\"20\" align=\"center\"><a href=\"javaScript:NovaJanela('index.php?idProg=272&gp_id=%s&gp_nome=%s', 'jnGrupoRamais', '%s', '%s', 'resizable=NO,scrollbars=NO');\">%s</a></td>";
$linkRamais = sprintf($linkRamais, $id, $nome, 700, 300, $imgRamais);
}
$linkRevendas = "<a href=\"javaScript:NovaJanela('index.php?idProg=281&gp_id=%s&gp_nome=%s', 'jnGrupoRevendas', '%s', '%s', 'resizable=NO,scrollbars=NO');\">%s</a>";
$linkRevendas = sprintf($linkRevendas, $id, $nome, 700, 300, $imgRevendas);
$linkCampanhaPrevenda = GetCampanhaPrevenda($id, $nome);
$linha .= "<tr>
<td width=\"50\" align=\"right\">$id</td>
<td align=\"left\" nowrap>$nomeMostra</td>
<td width=\"20\" align=\"center\">$status</td>
<td width=\"20\" align=\"center\">$imgEdit</td>
<td width=\"20\" align=\"center\">$linkGrupo</td>
<td width=\"20\" align=\"center\">$linkCampanhaPrevenda</td>
$linkRamais
<td width=\"20\" align=\"center\">$linkRevendas</td>
<td width=\"20\" align=\"center\">$delete</td>
</tr>";
}
$mensagemErro = pg_last_error($dbcon);
if (!empty($mensagemErro)) {
$linha = GetLinhaInfo("A operação não pode ser realizada!", $colspan);
} else if (empty($linha)) {
$linha = GetLinhaInfo("Nenhum registro encontrado!", $colspan);
}
$smarty->assign('erro', $erro);
$smarty->assign("linhas", $linha);
$smarty->assign("paramPesquisa", $paramPesquisa);
$smarty->assign("cols", $colspan);
$smarty->assign("imgNovo", $imgNovo);
$smarty->assign("links", $links);
$smarty->assign("pagMostra", $pagMostra);
$smarty->assign("totalReg", $totalReg);
$smarty->assign("pgn", $_REQUEST["pgn"]);
$smarty->assign("bloco", $_REQUEST["bloco"]);
$smarty->assign("pg", $_REQUEST["pg"]);
GetTemplate($smarty, $tpl);
/*
* Apresenta uma informação ao usuário ou um mensagem de erro
*/
function GetLinhaInfo($mensagem, $colspan) {
return " <tr><td colspan=\"$colspan\" align=\"center\">$mensagem</td></tr>";
}
function GetCampanhaPrevenda($grupo, $userGrupo) {
$query = "SELECT * FROM pbx_grupo_funcoes WHERE fun_id = 209 AND gp_id = {$grupo}";
$result = pg_query($query);
$linkGrupo = "<a href=\"javaScript:NovaJanela('index.php?idProg=342&gp_id=%s&gp_nome=%s', 'jnCampanhaVenda', '550', '280', 'resizable=NO,scrollbars=NO');\">%s</a>";
$img = "<img src=\"imgSite/%s\" width=\"16\" height=\"16\" border=\"0\" title=\"Status da Campanha Pré-venda!\"/>";
$r = pg_fetch_assoc($result);
if ($r['gp_id']) {
$img = sprintf($img, 'Notes.png');
$link = sprintf($linkGrupo, $r['gp_id'], $userGrupo, $img);
} else {
$link = sprintf($img, 'No.png');
}
return $link;
}
?>