include "500.php"; ?> // // Esecuzione query // Function esegui_query($query) { //echo $query; if ($query) { if(!mysql_db_query(DBNAME,$query)) { $ret["sqlerrno"] = mysql_errno(); $ret["sqlerror"] = mysql_error(); return $ret; } else return SAVEOK; } else return NULLDONE; } Function load_data($table,$idfield,$id) { if($id) { $res=mysql_db_query(DBNAME,"select * from $table where $idfield=$id "); $dati_db=mysql_fetch_array($res); mysql_free_result($res); } return $dati_db; } Function dato_secco_id($table,$descrfield,$idfield,$id) { $res=mysql_db_query(DBNAME,"select * from $table where $idfield=$id "); if($res) { while ($dati_db=mysql_fetch_array($res)) { $ret = $dati_db[$descrfield]; } mysql_free_result($res); } return $ret; } Function dato_secco($table,$field) { $res=mysql_db_query(DBNAME,"select * from $table"); if($res) { while ($dati_db=mysql_fetch_array($res)) { $ret = $dati_db[$field]; } mysql_free_result($res); } return $ret; } function getquery($sql) { $risultato = mysql_query($sql); if (!$risultato) { echo "Fallimento nell'esecuzione della query ($sql) dal DB: " . mysql_error(); exit; } return $risultato; } // // Verifica anti duplicato // Function checkdupe_form($table,$ver) { $query = "select count(*) as numcampi from $table where $ver"; if($risultato = mysql_db_query(DBNAME,$query)) { $numcampi = (int) mysql_result($risultato,0,"numcampi"); mysql_free_result($risultato); } return ($numcampi == 0); } ?> $conn = mysql_pconnect(DBHOST, DBUSER, DBPASS); if (!$conn) { echo "Impossibile connettersi al DB: " . mysql_error(); exit; } if (!mysql_select_db(DBNAME)) { echo "Impossibile selezionare ".DBNAME.": " . mysql_error(); exit; } ?> function vis_parse_tree($curr_el,$p_name="root",$parent_id="",$default_el="first",$E_string="") { global $ADM_Root; if($default_el=="first") $default_el = $ADM_Root["default_child"]; $lvl_arr=array(); if(is_array($curr_el["child_STRUCT"])) { while (list ($num, $val) = @each($curr_el["child_STRUCT"])) { $prossimi[$num]=$val; global $$val; } } elseif($curr_el["child_STRUCT"]) { $prossimi[0]=$curr_el["child_STRUCT"]; global $$prossimi[0]; } $sql="SELECT * FROM ".$curr_el["curr_TBL"].(($curr_el["parent_ID"])?" where ".$curr_el["parent_ID"]."=$parent_id":"")." ORDER BY ORDINE"; // echo $sql; $risultato = mysql_query($sql); while ($riga = mysql_fetch_assoc($risultato)) { if($riga["ORDINE"]!=0) { $lvl_arr[$riga["ORDINE"]]=$riga; $lvl_arr[$riga["ORDINE"]]["-def_figli"] = $prossimi; $lvl_arr[$riga["ORDINE"]]["-nome"] = $curr_el["nome"]; $lvl_arr[$riga["ORDINE"]]["-lblname"] = $curr_el["curr_NAME"]; $lvl_arr[$riga["ORDINE"]]["-table"] = $curr_el["curr_TBL"]; $lvl_arr[$riga["ORDINE"]]["-label"] = $riga[$curr_el["curr_NAME"]]; $lvl_arr[$riga["ORDINE"]]["-id"] = $riga[$curr_el["curr_ID"]]; $lvl_arr[$riga["ORDINE"]]["-parentidname"] = $curr_el["parent_ID"]; $lvl_arr[$riga["ORDINE"]]["-idname"] = $curr_el["curr_ID"]; $lvl_arr[$riga["ORDINE"]]["-adm_ico"] = $curr_el["adm_ico"]; $lvl_arr[$riga["ORDINE"]]["-adm_ico_open"] = $curr_el["adm_ico_open"]; $lvl_arr[$riga["ORDINE"]]["-default_child_field"] = $curr_el["default_child_FIELD"]; $lvl_arr[$riga["ORDINE"]]["-default_child"] = $riga[$curr_el["default_child_FIELD"]]; if($curr_el["nav_field"]) { $lvl_arr[$riga["ORDINE"]]["-nav"] = $riga[$curr_el["nav_field"]]!='N'; $lvl_arr[$riga["ORDINE"]]["-navfield"] = $curr_el["nav_field"]; } if($default_el==$riga[$curr_el["curr_ID"]]) $lvl_arr[$riga["ORDINE"]]["-default"] = true; $lvl_arr[$riga["ORDINE"]]["-path"] = $E_string.str_pad($riga["ORDINE"], 4, "0", STR_PAD_LEFT); if(is_array($prossimi)) { reset($prossimi); while (list ($num, $prossimo) = @each($prossimi)) { if($curr_el["default_child_FIELD"]) $next_default = dato_secco_id($curr_el["curr_TBL"],$curr_el["default_child_FIELD"],$curr_el["curr_ID"],$riga[$curr_el["curr_ID"]]); $lvl_arr[$riga["ORDINE"]]["-children"] = my_merge($lvl_arr[$riga["ORDINE"]]["-children"],vis_parse_tree($$prossimo,$tree_el_name,$riga[$curr_el["curr_ID"]],$next_default,$lvl_arr[$riga["ORDINE"]]["-path"])); } } } } mysql_free_result($risultato); return $lvl_arr; } function my_merge($arr1,$arr2) { $ret=array(); if(is_array($arr1)) { while (list ($num, $val) = @each($arr1)) { $ret[$num]=$val; } } if(is_array($arr2)) { while (list ($num, $val) = @each($arr2)) { $ret[$num]=$val; } } ksort($ret); return $ret; } function my_merge_add($arr1,$arr2) { $ret=array(); if(is_array($arr1)) { while (list ($num, $val) = @each($arr1)) { $ret[$num]=$val; } } if(is_array($arr2)) { while (list ($num, $val) = @each($arr2)) { $ret[$num]=$val; } } return $ret; } function e2patharr($e) { for($i=0;$i<(strlen($e)/4);$i++) { $ret[$i]=(int) substr($e,$i*4,4); } return $ret; } function gotopage(&$nav_menu_arr,$cu_arr) { if($cu_arr["-table"]=="pagina") { return $cu_arr; } elseif($cu_arr["-table"]=="link") { $cu_arr=gotopage($nav_menu_arr,path2currarr($nav_menu_arr,e2patharr(id2e($nav_menu_arr,"ID_AREA",$cu_arr["ID_AREA_L"])))); } elseif(is_array($cu_arr["-children"]) and $cu_arr["-table"]!="pagina") { $c_arr=$cu_arr["-children"]; reset($c_arr); while (list ($o, $a) = @each($c_arr)) { if($a["-default"]) $cu_arr=gotopage($nav_menu_arr,$a); } } return $cu_arr; } function path2currarrchildren(&$nav_menu_arr,$patharr) { $cu_arr=$nav_menu_arr; reset($patharr); while (list ($num, $o) = @each($patharr)) { $cu_arr=$cu_arr[$o]["-children"]; } return $cu_arr; } function path2currarr(&$nav_menu_arr,$patharr) { $DBOrd = array_pop($patharr); reset($patharr); $ret=path2currarrchildren($nav_menu_arr,$patharr); return $ret[$DBOrd]; } function id2e($arr,$key_name,$key_val,$ret=false) { reset($arr); while (list ($o, $a) = @each($arr)) { if($a["-idname"]==$key_name and $a["-id"]==$key_val) $ret=$a["-path"]; elseif(is_array($a["-children"])) $ret=id2e($a["-children"],$key_name,$key_val,$ret); } return $ret; } function getmenuarr(&$arr_tree,$lvl=0) { global $nav_menu_arr,$_SERVER,$ext_assigned,$sess_profilo_utente; reset($arr_tree); while (list ($ordine, $riga) = @each($arr_tree)) { if(isset($riga["-nav"])) { if(strlen($riga["-path"])>=12) { $cat_arr=path2currarr($nav_menu_arr,e2patharr(substr($riga["-path"],0,12))); if($cat_arr["ID_PROFILO"]==0) { $area_arr=path2currarr($nav_menu_arr,e2patharr(substr($riga["-path"],0,8))); if($area_arr["ID_PROFILO"]==0) { $accesso_menu=true; } elseif($area_arr["ID_PROFILO"]==1 and !isset($sess_profilo_utente)) { $accesso_menu=true; } elseif($area_arr["ID_PROFILO"]==2 and isset($sess_profilo_utente)) { $accesso_menu=true; } elseif(isset($sess_profilo_utente) and @in_array($area_arr["ID_PROFILO"],$sess_profilo_utente)) { $accesso_menu=true; } else $accesso_menu=false; } elseif($cat_arr["ID_PROFILO"]==1 and !isset($sess_profilo_utente)) { $accesso_menu=true; } elseif($cat_arr["ID_PROFILO"]==2 and isset($sess_profilo_utente)) { $accesso_menu=true; } elseif(isset($sess_profilo_utente) and @in_array($cat_arr["ID_PROFILO"],$sess_profilo_utente)) { $accesso_menu=true; } else $accesso_menu=false; } elseif(strlen($riga["-path"])==8) { $area_arr=path2currarr($nav_menu_arr,e2patharr(substr($riga["-path"],0,8))); if($area_arr["ID_PROFILO"]==0) { $accesso_menu=true; } elseif($area_arr["ID_PROFILO"]==1 and !isset($sess_profilo_utente)) { $accesso_menu=true; } elseif($area_arr["ID_PROFILO"]==2 and isset($sess_profilo_utente)) { $accesso_menu=true; } elseif(isset($sess_profilo_utente) and @in_array($area_arr["ID_PROFILO"],$sess_profilo_utente)) { $accesso_menu=true; } else $accesso_menu=false; } else { $accesso_menu=true; } if($riga["-nav"] and $riga["-table"]!="link" and $accesso_menu) { $ext_assigned[]=array("P"=>$riga["-path"],"L"=>$riga["-label"],"LV"=>$lvl); } if(is_array($riga["-children"])) getmenuarr($riga["-children"],($riga["-nav"])?$lvl+1:$lvl); elseif($riga["-table"]=="link") { $lnk_arr[0]=path2currarr($nav_menu_arr,e2patharr(id2e($nav_menu_arr,"ID_AREA",$riga["ID_AREA_L"]))); getmenuarr($lnk_arr,$lvl); } } } } function printmenu($initpath="",$maxlvl="",$function_prefix='on_lvl_',$last_str="") { global $nav_menu_arr,$ext_assigned,$nel; $ext_assigned=array(); if(strlen($initpath)>=4) $ini_menu_arr=path2currarrchildren($nav_menu_arr,e2patharr($initpath)); elseif($initpath) $ini_menu_arr[$initpath]=$nav_menu_arr[$initpath]; else $ini_menu_arr=$nav_menu_arr; getmenuarr($ini_menu_arr); $miovettore=$ext_assigned; $nel=0; @reset($miovettore); while (list ($i, $arr) = @each($miovettore)) { $nel++; $lvl=$arr["LV"]; $path=$arr["P"]; $etichetta=$arr["L"]; $lnk=$_SERVER["PHP_SELF"]."?E=".$arr["P"]; if($maxlvl==="" or $lvl<=$maxlvl) { if(is_array($miovettore[i+1])) { $children=$miovettore[$i+1]["LV"]>$lvl; } else { $children=false; } $lvl_function_name=$function_prefix.$lvl; if (function_exists($lvl_function_name)) { $ret[]= $lvl_function_name($path,$etichetta,$lnk,$children); } } } $ret[]=$last_str; @reset($miovettore); while (list ($i, $arr) = @each($miovettore)) { $lvl=$arr["LV"]; $path=$arr["P"]; $etichetta=$arr["L"]; $lnk=$_SERVER["PHP_SELF"]."?E=".$arr["P"]; if($maxlvl==="" or $lvl<=$maxlvl) { if(is_array($miovettore[i+1])) { $children=$miovettore[$i+1]["LV"]>$lvl; } else { $children=false; } $lvln_function_name=$function_prefix.'n'; if (function_exists($lvln_function_name)) { $ret[]= $lvln_function_name($path,$etichetta,$lnk,$children); } } } if(is_array($ret)) return join($ret); else return; } ?> Function balanced1($label,$value,$et_param,$el_param) { return "