示例#1
0
function sous_menu_rubriques($id_rubrique, $root, $niv, &$data, &$enfants, $exclus, $restreint, $type)
{
    static $decalage_secteur;
    // Si on a demande l'exclusion ne pas descendre dans la rubrique courante
    if ($exclus > 0 and $root == $exclus) {
        return '';
    }
    // en fonction du niveau faire un affichage plus ou moins kikoo
    // selected ?
    $selected = $root == $id_rubrique ? ' selected="selected"' : '';
    // le style en fonction de la profondeur
    list($class, $style, $espace) = style_menu_rubriques($niv);
    $class .= " selec_rub";
    // creer l'<option> pour la rubrique $root
    if (isset($data[$root])) {
        $r = "<option{$selected} value='{$root}' class='{$class}' style='{$style}'>{$espace}" . $data[$root] . '</option>' . "\n";
    } else {
        $r = '';
    }
    // et le sous-menu pour ses enfants
    $sous = '';
    if (isset($enfants[$root])) {
        foreach ($enfants[$root] as $sousrub) {
            $sous .= sous_menu_rubriques($id_rubrique, $sousrub, $niv + 1, $data, $enfants, $exclus, $restreint, $type);
        }
    }
    // si l'objet a deplacer est publie, verifier qu'on a acces aux rubriques
    if ($restreint and $root != $id_rubrique and !autoriser('publierdans', 'rubrique', $root)) {
        return $sous;
    }
    // et voila le travail
    return $r . $sous;
}
示例#2
0
function sous_menu_rubriques($id_rubrique, $root, $niv, &$data, &$enfants, $exclus, $restreint, $type) {
	global $browser_name, $browser_version;
	static $decalage_secteur;

	// Si on a demande l'exclusion ne pas descendre dans la rubrique courante
	if ($exclus > 0
	AND $root == $exclus) return '';

	// en fonction du niveau faire un affichage plus ou moins kikoo

	// selected ?
	$selected = ($root == $id_rubrique) ? ' selected="selected"' : '';

	// le style en fonction de la profondeur
	list($class, $style, $espace) = style_menu_rubriques($niv);

	// class='selec_rub' sauf pour contourner le bug MSIE / MacOs 9.0
	if (!($browser_name == "MSIE" AND floor($browser_version) == "5"))
		$class .= " selec_rub";

	// creer l'<option> pour la rubrique $root

	if (isset($data[$root])) # pas de racine sauf pour les rubriques
	{
		$r = "<option$selected value='$root' class='$class' style='$style'>$espace"
		.$data[$root]
		.'</option>'."\n";
	} else 	$r = '';
	
	// et le sous-menu pour ses enfants
	$sous = '';
	if (isset($enfants[$root]))
		foreach ($enfants[$root] as $sousrub)
			$sous .= sous_menu_rubriques($id_rubrique, $sousrub,
				$niv+1, $data, $enfants, $exclus, $restreint, $type);

	// si l'objet a deplacer est publie, verifier qu'on a acces aux rubriques
	if ($restreint AND !autoriser('publierdans','rubrique',$root))
		return $sous;

	// sauter un cran pour les secteurs (sauf premier)
	if ($niv == 1
	AND $decalage_secteur++
	AND $type != 'breve')
		$r = "<option value='$root'></option>\n".$r;

	// et voila le travail
	return $r.$sous;
}