--- loncom/interface/loncommon.pm 2004/10/21 11:17:00 1.222 +++ loncom/interface/loncommon.pm 2004/10/29 18:40:40 1.224 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.222 2004/10/21 11:17:00 foxr Exp $ +# $Id: loncommon.pm,v 1.224 2004/10/29 18:40:40 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2518,7 +2518,7 @@ other decorations will be returned. =cut sub bodytag { - my ($title,$function,$addentries,$bodyonly,$domain,$forcereg)=@_; + my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle)=@_; $title=&mt($title); $function = &get_users_function() if (!$function); my $img=&designparm($function.'.img',$domain); @@ -2564,6 +2564,7 @@ END return $bodytag; } elsif ($ENV{'browser.interface'} eq 'textual') { # Accessibility + return $bodytag.&Apache::lonmenu::menubuttons($forcereg,'web', $forcereg). '

LON-CAPA: '.$title.'

'; @@ -2585,15 +2586,23 @@ END

ENDROLE + my $titleinfo = ''.$title.''; + if ($customtitle) { + $titleinfo = $customtitle; + } return $bodytag.&Apache::lonmenu::menubuttons($forcereg,'web', $forcereg). - ''.$roleinfo.'
'.$title. -'
'; + ''.$roleinfo.'
'.$titleinfo.'
'; } # # Top frame rendering, Remote is up # + my $titleinfo = ' '.$title.''; + if ($customtitle) { + $titleinfo = $customtitle; + } return(< @@ -2603,7 +2612,7 @@ $upperleft - $title +$titleinfo $ENV{'environment.firstname'} @@ -3732,70 +3741,30 @@ sub connection_aborted { return $c->aborted(); } -# # Escapes strings that may have embedded 's that will be put into # strings as 'strings'. -# The assumptions are: -# There has been no effort to escape ' with \' -# Any \'s in the string are intended to be there as part of the URL -# and must also be escaped. -# Parameters: -# input - The string to escape. -# Returns: -# The escaped string (' replaced by \' and \ replaced by \\). -# sub escape_single { my ($input) = @_; - - # I imagine a regexp wizard could combine the two expressions below. - # If you do you might want to comment the result. - - $input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)> + $input =~ s/\\/\\\\/g; # Escape the \'s..(must be first)> $input =~ s/\'/\\\'/g; # Esacpe the 's.... - return $input; } + # Same as escape_single, but escape's "'s This # can be used for "strings" -# -# Parameters: -# input - The string to escape. -# Returns: -# The escaped string (" replaced by \" and \ replaced by \\). -# sub escape_double { my ($input) = @_; - - # I imagine a regexp wizard could combine the two expressions below. - # If you do you might want to comment the result. - $input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)> $input =~ s/\"/\\\"/g; # Esacpe the "s.... - return $input; } -# + # Escapes the last element of a full URL. -# -# Parameters: -# url - The url to escape. -# Returns: -# The url with the last element escaped via lonnet::escape. -# sub escape_url { my ($url) = @_; my @urlslices = split(/\//, $url); - - my $lastitem = $urlslices[scalar(@urlslices) -1]; - $lastitem = &Apache::lonnet::escape($lastitem); - - my $escaped_url; - for (my $i = 0; $i < scalar(@urlslices) -1; $i++) { - $escaped_url .= $urlslices[$i] .'/'; - } - $escaped_url .= $lastitem ; - - return $escaped_url; + my $lastitem = &Apache::lonnet::escape(pop(@urlslices)); + return join('/',@urlslices).'/'.$lastitem; } =pod