<?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<EFBFBD> <EFBFBD> o
*/
$imgNovo = GetLinkFormInsert("novoGrupo", 'images/novo.gif', $filtroNovo, ' Novo Grupo');
/*
* Armazena mensagem de erro da aplica<EFBFBD> <EFBFBD> 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 = "";
$permissoesAdmin = '';
if (IsUserAdmin()) {
/*
* Usuario que esta no grupo administraor vai ter a mesma visibilidade do administrador,
* sem a necessidade de estar em outros grupos diretamente o que evita o bloqueio de audio.
*/
$idUser = GetIdUser();
$gpCompl = " and gp_id in( select gp_id from pbx_grupo_usuario where user_id = (select id FROM pbx_usuarios where apelido = 'administrador'))";
$permissoesAdmin = "\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 user_id > '0'\n";
} else 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 $permissoesAdmin order by 5, gp_nome";
$params = "¶mPesquisa=$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 <EFBFBD> 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<EFBFBD> rio**, desbilidata a edi<EFBFBD> <EFBFBD> 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<EFBFBD> rio**, desbilidata a dele<EFBFBD> <EFBFBD> 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<EFBFBD> rio Habilitado apenas para restri<EFBFBD> <EFBFBD> es!' : 'Configura usu<EFBFBD> rios do grupo!'));
$imgRamais = "< img src = \"imgSite/audio-fone-registra-apl.png\" width = \"16\" height = \"16\" border = \"0\" title = \"Restringe Acesso aos <EFBFBD> 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<EFBFBD> <EFBFBD> o n<EFBFBD> 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<EFBFBD> <EFBFBD> o ao usu<EFBFBD> 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 <EFBFBD> -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;
}
?>