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.
175 lines
8.4 KiB
175 lines
8.4 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("¶mPesquisa%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_system = '0' $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 é 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; |
|
} |
|
|
|
?>
|
|
|