--- loncom/interface/loncommon.pm 2006/03/21 20:36:15 1.317 +++ loncom/interface/loncommon.pm 2006/03/21 21:49:30 1.319 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.317 2006/03/21 20:36:15 albertel Exp $ +# $Id: loncommon.pm,v 1.319 2006/03/21 21:49:30 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); @@ -3080,10 +3087,14 @@ Inputs: $title - optional title for the 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(). @@ -3116,6 +3127,7 @@ Inputs: $args - additional optio sub end_page { my ($args) = @_; + #&Apache::lonnet::logthis("end_page ".join(':',caller(0))); $env{'internal.end_page'}++; my $result = &endbodytag()."\n"; if ($args->{'js_ready'}) { @@ -3138,11 +3150,13 @@ sub validate_page { if ( exists($env{'internal.start_page'}) && $env{'internal.start_page'} > 1) { &Apache::lonnet::logthis('start_page called multiple times '. + $env{'internal.start_page'}.' '. $ENV{'request.filename'}); } if ( exists($env{'internal.end_page'}) && $env{'internal.end_page'} > 1) { &Apache::lonnet::logthis('end_page called multiple times '. + $env{'internal.end_page'}.' '. $env{'request.filename'}); } if ( exists($env{'internal.start_page'}) @@ -3157,6 +3171,18 @@ sub validate_page { } } +sub simple_error_page { + my ($r,$title,$msg) = @_; + my $page = + &Apache::loncommon::start_page($title). + &mt($msg). + &Apache::loncommon::end_page(); + if (ref($r)) { + $r->print($page); + return OK; + } + return $page; +} ############################################### =pod