menu_from_vis $CONF["pagine_dinamiche_def_menu_ref"] = ""; $CONF["pagine_dinamiche_def_pagina_inc"] = "pagine_dinamiche.inc.php"; $CONF["pagine_dinamiche2_where"] = "1=1"; $CONF["pagine_dinamiche2_titolo_html"] = false;//settare solo a sito vuoto, perchè cambia il join ma gli id rimarrebbero gli stessi (per ora viene forzato utf8 nel charset per il menu_txt) // aggiunto Lorenzo 16-04-2014 // $CONF["tabelle_prefix"] = "";//vedi sotto trigger_error $CONF["pagine_dinamiche_tabelle_prefix"] = "";//viene usata per pagine/testi/labels // aggiunto Carlo 6-10-2014 $CONF["pagine_dinamiche_campo_titolo_fisso"] = "";//settare per prendere il titolo da un campo della tabella "pagine" anzichè dalle labels //????? function indi_pagina_inc(){ global $DATI; if($DATI['container']) echo $DATI['container']; else include($DATI['pagina_inc']); } function pagine_dinamiche_menu(){ global $CONF,$LANG; //ritorna i figli dell'id dato o false se non ce ne sono if($CONF["tabelle_prefix"]){ $CONF["pagine_dinamiche_tabelle_prefix"] = $CONF["tabelle_prefix"]; trigger_error("parametro che pensavo fosse in disuso il 28/10/2020"); } if(!$LANG){ trigger_error("Nessuna lingua. \$LANG: ".print_r($LANG, true)); return; } $langs = array_keys($LANG); $lingue_sql = array(); if($CONF["pagine_dinamiche_campo_titolo_fisso"]) $lingue_sql[] = $CONF["pagine_dinamiche_campo_titolo_fisso"]; else foreach($langs as $l) $lingue_sql[] = "lab_menu_txt.$l as menu_txt_$l"; $lang = $langs[0]; //testo per indicizzazione if($CONF["indi_subversion"] < 3) $testo_indiciz_q = "testo1.$lang as testo_indiciz,"; //tolgo testi x ottimizzare if($CONF["indi_subversion"] < 6 && !$CONF["pagine_dinamiche_campo_titolo_fisso"]) $testo1_q = "LEFT JOIN ".$CONF["pagine_dinamiche_tabelle_prefix"]."testi as testo1 ON pag.testo1_txt_id = testo1.id"; if($CONF["indi_subversion"] > 6) $container = "pag.container,"; // print " // select pag.*, // pag.id as id, // pag.is_nascosta as menu_pagina_nascosta, // pag.is_protetta as protetta, // $testo_indiciz_q // $container // ". // implode(", ", $lingue_sql) // ." // FROM ".$CONF["pagine_dinamiche_tabelle_prefix"]."pagine as pag // LEFT JOIN ".$CONF["pagine_dinamiche_tabelle_prefix"].($CONF["pagine_dinamiche2_titolo_html"]?'testi':'labels')." as lab_menu_txt ON pag.titolo_lbl_id = lab_menu_txt.id // $testo1_q // WHERE pag.id != 0 // AND $CONF[pagine_dinamiche2_where] // order by pag.ord DESC // ";die; $res = db_q(" select pag.*, pag.id as id, pag.is_nascosta as menu_pagina_nascosta, pag.is_protetta as protetta, $testo_indiciz_q $container ". implode(", ", $lingue_sql) ." FROM ".$CONF["pagine_dinamiche_tabelle_prefix"]."pagine as pag LEFT JOIN ".$CONF["pagine_dinamiche_tabelle_prefix"].($CONF["pagine_dinamiche2_titolo_html"]?'testi':'labels')." as lab_menu_txt ON pag.titolo_lbl_id = lab_menu_txt.id $testo1_q WHERE pag.id != 0 AND $CONF[pagine_dinamiche2_where] order by pag.ord DESC ");//l'order dovrebbe essere inutile perchè poi viene settato il valore ord su $MENU e la mod menu ordina sempre con ord ASC //CECCA 17/10/2014 tolto AND da sopra vicino a $CONF[pagine_dinamiche_where] if(db_err()){ $e = "Fallita query lettura pagine dinamiche (database ".$DB["database"]." presente?)"; trigger_error($e);//si potrebbe anche togliere tra un po'... indiManutenzione($e); } if($GLOBALS['MENU']["404"]){ if($CONF['dove_sono'] == 'loc' || !mt_rand(0, 100)){//sempre in locale ogni 100 visite online if(db_qrs("SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '".$GLOBALS['DB']['database']."' AND TABLE_NAME = '".$CONF["pagine_dinamiche_tabelle_prefix"]."pagine';") < 405){ if(db_q("ALTER TABLE ".$CONF["pagine_dinamiche_tabelle_prefix"]."pagine AUTO_INCREMENT = 405;")){ trigger_error("Aggiornato auto_increment di pagine a 405 per evitare conflitti con pagina statica 404"); } } else if(db_qrs("select count(*) from ".$CONF["pagine_dinamiche_tabelle_prefix"]."pagine where id = 404")){ trigger_error("Questo sito ha due pagine 404 (statica e dinamica): va rinominata la statica in error_404, vanno controllati eventuali usi (redirect) presenti nel sito e va lanciato un tabellaSitemapAggiorna"); } } // if($CONF['dove_sono'] == 'loc'){ // $GLOBALS['MENU']["error_404"] = $GLOBALS['MENU']["404"]; // $GLOBALS['MENU']["error_404"]["xxx"]["pagina_inc"] = "404.inc.php"; // unset($GLOBALS['MENU']["404"]); // } } // $controllaPreconfigurazione = $CONF['dove_sono'] == 'loc' || !mt_rand(0, 100);//faccio il controllo una volta ogni 100 visite per evitare mail bombing // $controllaPreconfigurazione = true; if($res) { while($ROW = mysql_tnx_fetch_array($res)) { // if($controllaPreconfigurazione && $GLOBALS['MENU'][$ROW["id"]] && !$GLOBALS['MENU'][$ROW["id"]]['preconfigurazione'] && $ROW["id"] != $CONF['pagina_def'] /* la home ha sempre mdesc e mkey */ ) trigger_error("Per la pagina $ROW[id] c'è una preconfigurazione in indi controlla i dati (disattiva segnalazione con \$MENU[$ROW[id]]['preconfigurazione'] = true;) --- ".print_r($GLOBALS['MENU'][$ROW["id"]] , true)); //print $c++; //cicolo principale per creazione menu //cicolo le lingue $LANG2 = $LANG; while(list($L, $v)=each($LANG2)){ $GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"] = $ROW[$CONF["pagine_dinamiche_campo_titolo_fisso"]?$CONF["pagine_dinamiche_campo_titolo_fisso"]:"menu_txt_".$L]; if ($GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"] == "" && $CONF["lingua_fallback"] != "") { $GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"] = $ROW[$CONF["pagine_dinamiche_campo_titolo_fisso"]?$CONF["pagine_dinamiche_campo_titolo_fisso"]:"menu_txt_".$CONF["lingua_fallback"]]; } if($CONF["pagine_dinamiche2_titolo_html"]){ $GLOBALS['MENU'][$ROW["id"]][$L]["menu_html"] = $GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"]; $GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"] = str_replace("perù di intercultura html_entity_decode(strip_tags($GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"]), ENT_COMPAT, "utf-8") ); $GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"] = preg_replace("/\s+/", " ", $GLOBALS['MENU'][$ROW["id"]][$L]["menu_txt"]);//tolgo doppi spazi } if($ROW["rew_alias"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["rew_alias"] = $ROW["rew_alias"]; if($ROW["rew_alias_".$L] != "") $GLOBALS['MENU'][$ROW["id"]][$L]["rew_alias"] = $ROW["rew_alias_".$L]; if($ROW["key_".$L] != "") $GLOBALS['MENU'][$ROW["id"]][$L]["key"] = $ROW["key_".$L]; if($CONF["indi_subversion"] > 5) { //if($ROW["menu_alias"] != "") $GLOBALS['MENU'][$ROW["id"]][$L]["menu_alias"] = $ROW["menu_alias"]; //if($GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_alias"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_alias"] = $ROW["rew_alias_".$L]; } } //from $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_from"] = $CONF["pagine_dinamiche_menu_from"]; $GLOBALS['MENU'][$ROW["id"]]["xxx"]["is_dinamica"] = true; //alias pagine dinamiche //indiciz: if($CONF["indi_subversion"] < 3) $GLOBALS['MENU'][$ROW["id"]]["xxx"]["i_testo_pagina"] = strip_tags(indi_rimuovi_acapo(html_entity_decode($ROW["testo_indiciz"]))); //menu_link $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_link"] = $ROW["menu_link"]; if ($ROW["menu_link_force"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_link_force"] = $ROW["menu_link_force"]; //parametri aggiunti menu if ($ROW["menu_link_agg"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_link_agg"] = $ROW["menu_link_agg"]; if ($ROW["menu_gruppo"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_gruppo"] = $ROW["menu_gruppo"]; if($CONF["pagine_dinamiche_def_pagina_inc"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["pagina_inc"] = $CONF["pagine_dinamiche_def_pagina_inc"]; if ($ROW["pagina_inc"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["pagina_inc"] = $ROW["pagina_inc"]; //deprecato $GLOBALS['MENU'][$ROW["id"]]["xxx"]["stile_pagina"] = $ROW["stile_pagina"] ? $ROW["stile_pagina"] : str_replace(array(".inc.php", ".php"), "", $GLOBALS['MENU'][$ROW["id"]]["xxx"]["pagina_inc"]); if ($ROW["container"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["container"] = $ROW["container"]; //menu ref if($CONF["pagine_dinamiche_def_menu_ref"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_ref"] = $CONF["pagine_dinamiche_def_menu_ref"]; //!=0 cosi mette root dopo if ($ROW["menu_ref"] != "" and $ROW["menu_ref"] != 0) $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_ref"] = $ROW["menu_ref"]; //template ??? if($ROW["template"] != "") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["template"] = $ROW["template"]; //ordine if($ROW["ord"] != "" && !isset($GLOBALS['MENU'][$ROW["id"]]['xxx']["ord"])) $GLOBALS['MENU'][$ROW["id"]]["xxx"]["ord"] = $ROW["ord"]; // if($ROW["ord"] != "") echo '

'.$ROW["ord"].'

';die; //include il file sempre if(!isset($GLOBALS['MENU'][$ROW["id"]]['xxx']["menu_pagina_vis"])){ if($ROW["menu_pagina_nascosta"] == "1") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_pagina_vis"] = "NO"; else $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_pagina_vis"] = "SI"; } //no link if($ROW["flag_no_link"] == "1") $GLOBALS['MENU'][$ROW["id"]]["xxx"]["menu_no_link"] = "SI"; if($ROW["protetta"]/*posso usare anche un enum per fare controlli specifici*/) $GLOBALS['MENU'][$ROW["id"]]["xxx"]["protetta"] = "SI"; else $GLOBALS['MENU'][$ROW["id"]]["xxx"]["protetta"] = "NO"; } } else return NULL; } ?>