--- loncom/interface/lonhtmlcommon.pm 2010/01/23 22:26:27 1.182.2.3 +++ loncom/interface/lonhtmlcommon.pm 2008/11/11 20:12:17 1.183 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.182.2.3 2010/01/23 22:26:27 raeburn Exp $ +# $Id: lonhtmlcommon.pm,v 1.183 2008/11/11 20:12:17 droeschl Exp $ # # Copyright Michigan State University Board of Trustees # @@ -391,8 +391,8 @@ sub date_setter { ($tzname,$sec,$min,$hour,$mday,$month,$year) = &get_timedates($currentvalue); } unless ($wasdefined) { + ($tzname,$sec,$min,$hour,$mday,$month,$year) = &get_timedates($now); if (($defhour) || ($defmin) || ($defsec)) { - ($tzname,$sec,$min,$hour,$mday,$month,$year) = &get_timedates($now); $sec=($defsec?$defsec:0); $min=($defmin?$defmin:0); $hour=($defhour?$defhour:0); @@ -1092,7 +1092,7 @@ sub crumbs { my $output=''; unless ($noformat) { $output.='
'; } $output.=''.$prefix.'/'; - if (($env{'user.adv'}) || ($env{'user.author'})) { + if ($env{'user.adv'}) { my $path=$prefix.'/'; foreach my $dir (split('/',$uri)) { if (! $dir) { next; } @@ -1278,9 +1278,6 @@ Inputs: $component (the large text on th $menulink (boolean, controls whether to include a link to /adm/menu) $helplink (if 'nohelp' don't include the orange help link) $css_class (optional name for the class to apply to the table for CSS) - $no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component - when including the text on the right. - Returns a string containing breadcrumbs for the current page. =item clear_breadcrumbs @@ -1306,7 +1303,7 @@ returns: nothing my @Crumbs; sub breadcrumbs { - my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt) = @_; + my ($component,$component_help,$menulink,$helplink,$css_class) = @_; # $css_class ||= 'LC_breadcrumbs'; my $Str = "\n".''; # if (defined($component)) { - $Str .= '
'; @@ -1386,12 +1383,8 @@ returns: nothing $Str .= $links.''; - if ($no_mt) { - $Str .= $component; - } else { - $Str .= &mt($component); - } + $Str .= ''. + &mt($component); if ($icons ne '') { $Str .= ' '.$icons; } @@ -2011,6 +2004,59 @@ END return $scripttag; } +############################################## +############################################## + +# generate_menu +# +# Generates html markup for a menu. +# +# Inputs: +# An array of following structure: +# ({ categorytitle => 'Categorytitle', +# items => [ +# { linktext => 'Text to be displayed', +# url => 'URL the link is pointing to, i.e. /adm/site?action=dosomething', +# permission => 'Contains permissions as returned from lonnet::allowed(), +# must evaluate to true in order to activate the link', +# help => 'Name of the corresponding helpfile', +# linktitle => 'Description of the link (used for title tag)' +# }, +# ... +# ] +# }, +# ... +# ) +# +# Outputs: A scalar containing the html markup for the menu. + +# ---- Remove when done ---- +# This routine is part of the redesign of LON-CAPA and it's +# subject to change during this project. +# Don't rely on its current functionality as it might be +# changed or removed. +# -------------------------- + +sub generate_menu { + my @menu = @_; + my $menu_html = ''; + + foreach my $category (@menu) { #FIXME: insert appropriate classnames for styles when they're finished. + $menu_html .='

'.$category->{'categorytitle'}.'

    '; + foreach my $item (@{ $category->{items} }) { + next if (! $item->{'permission'}); + $menu_html .= '
  • '. + qq{}. + &mt($item->{'linktext'}).''; + if (exists($item->{'help'})) { + $menu_html .= &Apache::loncommon::help_open_topic($item->{'help'}); + } + $menu_html .= '
  • '; + } + $menu_html .= '
'; + } + return $menu_html; +} 1;