Salve ragazzi, sto facendo la gestione dei permessi e accesso alle pagine sul mio script.

Ho un array permessi e uno che genera menu e permessi che ne fanno parte

esempio
Codice PHP:
$permessi = array(

                    
"Widget Organigramma" => "widget_organigramma",
                    
"Widget Bandi" => "widget_bandi"
                    
                    
);

$setting_permesso["widget"] = array("Widget""index.php?a=widget",
       
"menu" => array(
       
"Orgranigramma" => array(
       
"Genera"    =>"index.php?a=widget&module=creaOrganigramma",
       
"Modifica"  =>"index.php?a=widget&module=MOrganigramma"
       
),
       
"Bandi" => array(
       
"Genera"    =>"index.php?a=widget&module=creaBAndi",
       
"Modifica"  =>"index.php?a=widget&module=MBandi"
       
),
       )
     ); 
fino a qui tutto bene creo i menu a seconda dei permessi che l'utente possiede.
Per ogni permesso viene creato un tasto nel header, eccetto per i widget che con un tasto contiene più permessi

Il fatto e che, se un un utente ha solo i permessi widget comunque gli vengono caricati anche gli altri tasti. Dove sbaglio?

Questo e il codice che crea a seconda dei permessi disponibili i tasti per accedere alle sezioni

Codice PHP:
foreach($setting_permesso as $cat => $value){

                    
//Active
                    
if("index.php?cat_kude=".$controllo_get == $value[1]){
                        
$add "id=\"menu-active\"";
                    }else{
                        
$add "id=\"\"";
                    }

                    if(
$xplode_menu[0] == "all"){
                        echo 
"<li $add><a href=\"$value[1]\"><span>$value[0]</span></a>";
                    }else{
                        if(
preg_match("/widget/i"$_SESSION["level"])){
                            echo 
"<li $add><a href=\"$value[1]\"><span>$value[0]</span></a>";
                        }
                        
                        if(
in_array($cat,$xplode_menu )) {
                            echo 
"<li $add><a href=\"$value[1]\"><span>$value[0]</span></a>";
                        }
                    }
                }