--- loncom/interface/loncommon.pm 2006/02/27 20:24:21 1.304 +++ loncom/interface/loncommon.pm 2006/03/19 22:48:53 1.314 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.304 2006/02/27 20:24:21 banghart Exp $ +# $Id: loncommon.pm,v 1.314 2006/03/19 22:48:53 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2737,6 +2737,10 @@ Inputs: =item * $forcereg, if page should register as content page (relevant for text interface only) +=item * $customtitle, overrides the $title in some way ???? + +=item * $notopbar, if true, keep the 'what is this' info but remove the + navigational links =back Returns: A uniform header for LON-CAPA web pages. @@ -2747,7 +2751,8 @@ other decorations will be returned. =cut sub bodytag { - my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,$notopbar)=@_; + my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle, + $notopbar)=@_; $title=&mt($title); $function = &get_users_function() if (!$function); my $img=&designparm($function.'.img',$domain); @@ -2893,6 +2898,8 @@ ENDROLE $dc_info.= $cid.' '.$env{'course.'.$cid.'.internal.coursecode'}; $dc_info = '('.$dc_info.')'; } + # Explicit link to get inline menu + my $menu='
 '.&mt('Switch to Inline Menu Mode').''; # return(< -$titleinfo $dc_info +$titleinfo $dc_info $menu $env{'environment.firstname'} @@ -2929,7 +2936,7 @@ ENDBODY =back -=head1 HTTP Helpers +=head1 HTML Helpers =over 4 @@ -2937,14 +2944,10 @@ ENDBODY Returns a uniform footer for LON-CAPA web pages. -Inputs: - -=over 4 +Inputs: none =back -Returns: A uniform footer for LON-CAPA web pages. - =cut sub endbodytag { @@ -2953,10 +2956,143 @@ sub endbodytag { return $endbodytag; } +=pod + +=over 4 + +=item * &headtag() + +Returns a uniform footer for LON-CAPA web pages. + +Inputs: $title - optional title for the head + $head_extra - optional extra HTML to put inside the + +=back + +=cut + +sub headtag { + my ($title,$head_extra,$args) = @_; + + my $result = + ''. + &Apache::lonxml::fontsettings(). + &Apache::lonhtmlcommon::htmlareaheaders(); + + if (ref($args->{'redirect'})) { + my ($time,$url) = @{$args->{'redirect'}}; + $result.=< + +ADDMETA + } + if (!defined($title)) { + $title = 'The LearningOnline Network with CAPA'; + } + + $result .= ''.&mt($title).''.$head_extra; + + return $result; +} + +=pod + +=over 4 + +=item * &endheadtag() + +Returns a uniform for LON-CAPA web pages. + +Inputs: none + +=back + +=cut + +sub endheadtag { + return ''; +} + +=pod + +=over 4 + +=item * &head() + +Returns a uniform complete .. section for LON-CAPA web pages. + +Inputs: $title - optional title for the page + $head_extra - optional extra HTML to put inside the +=back + +=cut + +sub head { + my ($title,$head_extra) = @_; + return &headtag($title,$head_extra).&endheadtag(); +} + +=pod + +=over 4 + +=item * &start_page() + +Returns a complete .. section for LON-CAPA web pages. + +Inputs: $title - optional title for the page + $head_extra - optional extra HTML to incude inside the + %args - additional optional args supported are: + only_body -> is true will set &bodytag() onlybodytag arg on + no_nav_bar -> is true will set &bodytag() notopbar arg on + add_entries -> additional attributes to add to the + domain -> force to color decorate a page for a + specific domain + function -> force usage of a specific rolish color scheme + redirect -> ... + +=back + +=cut + +sub start_page { + my ($title,$head_extra,$args) = @_; + my %head_args; + if (defined($args->{'redirect'})) { + $head_args{'redirect'} = $args->{'redirect'}; + } + + return + &Apache::lonxml::xmlbegin(). + &headtag($title,$head_extra,\%head_args).&endheadtag(). + &bodytag($title, $args->{'function'}, $args->{'add_entries'}, + $args->{'only_body'}, + undef,undef,undef,$args->{'no_nav_bar'}); +} + +=pod + +=over 4 + +=item * &head() + +Returns a complete section for LON-CAPA web pages. + +Inputs: None + +=back + +=cut + +sub end_page { + return &endbodytag."\n"; +} ############################################### =pod +=over 4 + =item get_users_function Used by &bodytag to determine the current users primary role.