Vi posto di nuovo il codice del file javascript e quello del file php che genera il menu così potete capire un pò meglio!!
expand.js (i commenti contengono alcune delle prove che ho fatto )
codice:
var prev= null;
//var appoggio= ("<?php echo"$_SESSION['menu']";?>");
//document.write(appoggio);
//var appoggio= "Accettazione";
//alert (appoggio);
window.onload=function(){
if(document.getElementsByTagName && document.getElementById){
document.getElementById("nav").className="jsenable";
BuildList();
}
}
function BuildList(){
var hs=document.getElementById("nav").getElementsByTagName("h3");
//var testo1= hs.Child;
//alert(testo1.nodeValue);
//document.write(hs[1]);
for(var i=0;i<hs.length;i++){
//if(hs[i]==appoggio){
hs[i].onclick=function(){
//document.write(hs[i].nodeValue);
//alert(testo1[i].nodeValue);
//if(this.parentNode.nodeValue='Accettazione'){
if(this.parentNode.className!="show"){
this.parentNode.className="show";
if(prev && prev!=this.parentNode) prev.className="hide";
prev=this.parentNode;
}
else this.parentNode.className="hide";
}
//}
}
}
menu.php
Codice PHP:
<html>
<head>
<title>Menù</title>
</head>
<link rel="stylesheet" type="text/CSS" href="css.CSS">
<script type="text/Javascript" src="expand.js"></script>
<body>
<div id="nav">
<ul>
<?php
session_start();
$c=oci_connect("XXX", "XXX", "XXX");
$queryprima=oci_parse($c,"select m.cod_macro livello1, m.des_macro des_livello1
from con_macro m
order by m.ordine");
oci_execute($queryprima);
$j=1;
while (($riga=oci_fetch_array($queryprima, OCI_NUM + OCI_RETURN_NULLS))){
echo("[*]<h3>".$riga[1]."</h3><ul>");
$macro=$riga[0];
$queryseconda=oci_parse($c,"select m.cod_macro livello1, fu.des_funzione des_livello2 from con_macro m, con_menu me, con_funzioni fu where m.cod_macro = me.cod_macro and me.cod_funzione = fu.cod_funzione and m.cod_macro='$macro' order by m.ordine,me.ordine");
oci_execute($queryseconda);
$i=1;
while (($row=oci_fetch_array($queryseconda, OCI_NUM + OCI_RETURN_NULLS))){
echo ('[*][url="prova_menu'.$j.'_'.$i.'.php"]'.$row[1].'[/url]');
$i++;
}
$j++;
}
?>
[/list]
</div>
</body>
</html>
In pratica ho un menu le cui voci pengono popolate grazie a delle query.
Il menu è a scomparsa e io vorrei che in base al profilo dell'utente, questo potesse accedere solo alla parte del menu che gli compete. Cioè se l'utente "pippo" ha come profilo "Accettazione" vorrei che gli si espandesse soltanto la voce "Accettazione" del menu. Può cliccare su tutte le voci ma deve trovare abilitata solo la voce Accettazione.
Spero di essere stata sufficientemente chiara e spero di trovare qualche anima Pia che si muova a pietà e mi risolva questo enorme problema!!
Vi ringrazio anticipatamente
Sara