/** * Retourne une liste HTML des rubriques et rubriques enfants * * @param bool $complet * - false pour n'avoir que le bouton racine «plan du site» * - true pour avoir l'ensemble des rubriques en plus * * @return string * Code HTML présentant la liste des rubriques **/ function menu_rubriques($complet = true) { $ret = "<li class='toutsite'><a href='" . generer_url_ecrire('plan') . "'>" . _T('info_tout_site') . "</a></li>"; if (!$complet) { return "<ul class='cols_1'>{$ret}\n</ul>\n"; } if (!isset($GLOBALS['db_art_cache'])) { gen_liste_rubriques(); } $arr_low = extraire_article(0, $GLOBALS['db_art_cache']); $total_lignes = $i = sizeof($arr_low); if ($i > 0) { $nb_col = min(8, ceil($total_lignes / 30)); if ($nb_col <= 1) { $nb_col = ceil($total_lignes / 10); } foreach ($arr_low as $id_rubrique => $titre_rubrique) { if (autoriser('voir', 'rubrique', $id_rubrique)) { $ret .= bandeau_rubrique($id_rubrique, $titre_rubrique, $i); $i++; } } $ret = "<ul class='cols_{$nb_col}'>" . $ret . "\n</ul>\n"; } else { $ret = "<ul class='cols_1'>{$ret}\n</ul>\n"; } return $ret; }
function exec_menu_rubriques_dist() { global $spip_ecran; header("Cache-Control: no-cache, must-revalidate"); if ($date = intval(_request('date'))) header("Last-Modified: ".gmdate("D, d M Y H:i:s", $date)." GMT"); $r = gen_liste_rubriques(); if (!$r AND isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) AND !strstr($_SERVER['SERVER_SOFTWARE'],'IIS/')) { include_spip('inc/headers'); header('Content-Type: text/html; charset='. $GLOBALS['meta']['charset']); http_status(304); } else { $largeur_t = ($spip_ecran == "large") ? 900 : 650; $arr_low = extraire_article(0, $GLOBALS['db_art_cache']); $total_lignes = $i = sizeof($arr_low); $ret = ''; if ($i > 0) { $nb_col = min(8,ceil($total_lignes / 30)); if ($nb_col <= 1) $nb_col = ceil($total_lignes / 10); $max_lignes = ceil($total_lignes / $nb_col); $largeur = min(200, ceil($largeur_t / $nb_col)); $count_lignes = 0; $style = " style='z-index: 0; vertical-align: top;'"; $image = " petit-secteur"; foreach( $arr_low as $id_rubrique => $titre_rubrique) { if ($count_lignes == $max_lignes) { $count_lignes = 0; $ret .= "</div></td>\n<td$style><div class='bandeau_rubriques'>"; } $count_lignes ++; if (autoriser('voir','rubrique',$id_rubrique)){ $ret .= bandeau_rubrique($id_rubrique, $titre_rubrique, $i, $largeur, $image); $i--; } } $ret = "<table><tr>\n<td$style><div class='bandeau_rubriques'>" . $ret . "\n</div></td></tr></table>\n"; } include_spip('inc/actions'); ajax_retour("<div> </div>" . $ret); } }