Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos, e um erro simples que estou passando, tenho essas funções e quero chama-las em um formulário de cadastro php;
essa função gera um arvore de permissões para usuários estou usando <?=arvoreMenuPermissoes()?> dentro de uma pagina de cadastro, porem ele apenas exibe a arvore e não consegue salvar os dados no banco, se vcs observarem essa função esta bem detalhada quando a exibição, cadastro e edição e bloqueio.
podem nao sei como exibi-las, alguém pode me ajudar?
functions.php
#Listando o menu em forma de árvore para as permissões de usuários:
function arvoreMenuPermissoes($iduser = ''){
#Buscando os menus:
$menu = '';
#primeiro os menus principais:
$M1 = db_consulta('SELECT * FROM sis_menu WHERE menu_pai = 0');
#lista os menus pai:
while($L1 = db_lista($M1)){
$menu .= "\n\n".'<div class="menu_principal">'."\n\n";
$checked = '';
if($iduser > 0){
#Verificando se está checado ou não, :
$SQL = 'SELECT fk_menu FROM sis_rel_menu_usuarios WHERE fk_menu = '.$L1['menu_id'].' AND fk_usuario = '.$iduser;
if(db_linhas(db_consulta($SQL)) > 0){
$checked = ' checked="checked" ';
}else
$checked = '';
}//fim if iduser > 0
$menu .= '<input type="checkbox" name="menu_ver[]" value="'.$L1['menu_id'].'" '.$checked.' ><strong style="font-size:12px; color:#'.$_SESSION['Tema']['tema_cor_links'].'; letter-spacing:1px;">'.strtoupper($L1['menu_nome']).'</strong><br>'."\n";
#pega os submenus:
$busca = submenusArvore($L1['menu_id'], $iduser);
$menu .= $busca;
$menu .= "\n\n".'</div>'."\n\n";
}//fim while
$menu .= '<div class="limpar"></div>';
return $menu;
}//fim funcao
function submenusArvore($id, $iduser){
$sub = '';
#Pega o menu de acordo com o id:
$M2 = db_consulta('SELECT A.* FROM sis_menu as A WHERE A.menu_pai = '.$id.'');//AND EXISTS(SELECT b.menu_id FROM sis_menu as b WHERE b.menu_pai = A.menu_id Limit 1)
if(db_linhas($M2) > 0){
while($L2 = db_lista($M2)) {
$checked = '';
if($iduser > 0){
#Verificando se está checado ou não, :
$SQL = 'SELECT fk_menu FROM sis_rel_menu_usuarios WHERE fk_menu = '.$L2['menu_id'].' AND fk_usuario = '.$iduser;
if(db_linhas(db_consulta($SQL)) > 0){
$checked = ' checked="checked" ';
}else
$checked = '';
}//fim if iduser > 0
$sub .= ' ---------------------------------------- <br>';
$sub .= ' ....<input type="checkbox" name="menu_ver[]" value="'.$L2['menu_id'].'" '.$checked.' ><strong>'.$L2['menu_nome'].'</strong><br>'."\n";
#Nesse menu, bloquear as seguintes opções:
$sub .= bloquearOpcoes($L2);
$M3 = db_consulta('SELECT * FROM sis_menu WHERE menu_pai = '.$L2['menu_id']);
if(db_linhas($M3) > 0){
while($L3 = db_lista($M3)){
$checked = '';
if($iduser > 0){
#Verificando se está checado ou não, :
$SQL = 'SELECT fk_menu FROM sis_rel_menu_usuarios WHERE fk_menu = '.$L3['menu_id'].' AND fk_usuario = '.$iduser;
if(db_linhas(db_consulta($SQL)) > 0){
$checked = ' checked="checked" ';
}else
$checked = '';
}//fim if iduser > 0
$sub .= '
:....<input type="checkbox" name="menu_ver[]" value="'.$L3['menu_id'].'" '.$checked .' ><strong>'.$L3['menu_nome'].'</strong><br>'."\n";
#Nesse menu, bloquear as seguintes opções:
$sub .= bloquearOpcoes($L3);
$sub .= submenusArvore($L3['menu_id'], $iduser);
}//fim while
}//fim if
}//fim while
return $sub;
}else
return '';
}//fim funcao
function bloquearOpcoes($menu){
$sub = '';
#Botoes a bloquear
if($menu['menu_destino'] != ''){
#Verificando se é arquivo de consulta ou de adicionar:
$tipo = explode('/',$menu['menu_destino']);
switch($tipo[1]){
case 'adicionar';
$sub .= ' '."\n";
$sub .= 'Nesse menu, <span style=" color:#FF0000;">bloquear</span> as seguintes ações: <br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('consultar',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="consultar" '.$sel.' >Consultar registros<br>'."\n";
break;
case 'consultar':
$sub .= ' '."\n";
$sub .= 'Nesse menu, <span style=" color:#FF0000;">bloquear</span> as seguintes ações: <br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('adicionar',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="adicionar" '.$sel.' >Adicionar registro<br>'."\n";
#Verificando se vai ficar checado:
if(estaBloqueado('visualizar',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="visualizar" '.$sel.' >Visualizar registro<br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('editar',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="editar" '.$sel.' >Alterar Registro<br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('status',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="status" '.$sel.' >Alterar Status(flags)<br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('excluir',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="excluir" '.$sel.'>Excluir Registro<br>'."\n";
break;
case 'historico':
$sub .= ' '."\n";
$sub .= 'Nesse menu, <span style=" color:#FF0000;">bloquear</span> as seguintes ações: <br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('restaurar',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="restaurar" '.$sel.'>Restaurar registros<br>'."\n";
#Verificando se vai ficar checado:
if($_GET['ID'] > 0)
if(estaBloqueado('excluir',$_GET['ID'],$menu['menu_destino'])) $sel=' checked="checked" '; else $sel = '';
$sub .= ' '."\n";
$sub .= '<input type="checkbox" name="bloq_menu'.$menu['menu_id'].'[]" value="excluir" '.$sel.' >Excluir registro<br>'."\n";
//Se não for um menu padrão:
default:
$sub .='';
}
$sub .= '<br>';
}
return $sub;
}
Quem puder me ajudar agradeceria muito!
Carregando comentários...