--- loncom/interface/loncommon.pm 2006/03/21 21:01:22 1.318 +++ loncom/interface/loncommon.pm 2006/03/23 23:43:13 1.320 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.318 2006/03/21 21:01:22 albertel Exp $ +# $Id: loncommon.pm,v 1.320 2006/03/23 23:43:13 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2976,6 +2976,9 @@ Returns a uniform footer for LON-CAPA we Inputs: $title - optional title for the head $head_extra - optional extra HTML to put inside the $args - optional arguments + force_register - if is true call registerurl so the remote is + informed + redirect - array ref of seconds before redirect occurs url to redirect to (side effect of setting @@ -2992,7 +2995,11 @@ sub headtag { ''. &Apache::lonxml::fontsettings(). &Apache::lonhtmlcommon::htmlareaheaders(); - + + if ($args->{'force_register'}) { + $result .= &Apache::lonmenu::registerurl(1); + } + if (ref($args->{'redirect'})) { my ($time,$url) = @{$args->{'redirect'}}; $url = &Apache::lonenc::check_encrypt($url); @@ -3071,6 +3078,8 @@ Inputs: $title - optional title for the bgcolor -> override the default page bg color js_ready -> return a string ready for being used in a javascript writeln + html_encode -> return a string ready for being used in + a html attribute force_register -> if is true will turn on the &bodytag() $forcereg arg @@ -3082,9 +3091,12 @@ sub start_page { my ($title,$head_extra,$args) = @_; #&Apache::lonnet::logthis("start_page ".join(':',caller(0))); my %head_args; - if (defined($args->{'redirect'})) { - $head_args{'redirect'} = $args->{'redirect'}; + foreach my $arg ('redirect','force_register') { + if (defined($args->{$arg})) { + $head_args{$arg} = $args->{$args}; + } } + $env{'internal.start_page'}++; my $result = &Apache::lonxml::xmlbegin(). @@ -3097,6 +3109,9 @@ sub start_page { if ($args->{'js_ready'}) { $result = &js_ready($result); } + if ($args->{'html_encode'}) { + $result = &html_encode($result); + } return $result; } @@ -3111,6 +3126,8 @@ Returns a complete sectio Inputs: $args - additional optional args supported are: js_ready -> return a string ready for being used in a javascript writeln + html_encode -> return a string ready for being used in + a html attribute =back =cut @@ -3123,12 +3140,21 @@ sub end_page { if ($args->{'js_ready'}) { $result = &js_ready($result); } + if ($args->{'html_encode'}) { + $result = &html_encode($result); + } return $result; } +sub html_encode { + my ($result) = @_; + + $result = &HTML::Entities::encode($result,'"'); + + return $result; +} sub js_ready { my ($result) = @_; - $result = &HTML::Entities::encode($result,'<>&"'); $result =~ s/[\n\r]/ /g; $result =~ s/'/\\'/g; @@ -3169,7 +3195,7 @@ sub simple_error_page { &Apache::loncommon::end_page(); if (ref($r)) { $r->print($page); - return; + return OK; } return $page; }