Ejemplo n.º 1
0
/**
 * 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;
}
Ejemplo n.º 2
0
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>&nbsp;</div>" . $ret);
	}
}