--- loncom/interface/loncommon.pm 2006/03/19 21:43:20 1.313 +++ loncom/interface/loncommon.pm 2006/03/21 18:32:19 1.316 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.313 2006/03/19 21:43:20 albertel Exp $ +# $Id: loncommon.pm,v 1.316 2006/03/21 18:32:19 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2752,11 +2752,11 @@ other decorations will be returned. sub bodytag { my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle, - $notopbar)=@_; + $notopbar,$bgcolor)=@_; $title=&mt($title); $function = &get_users_function() if (!$function); my $img=&designparm($function.'.img',$domain); - my $pgbg=&designparm($function.'.pgbg',$domain); + my $pgbg= $bgcolor || &designparm($function.'.pgbg',$domain); my $tabbg=&designparm($function.'.tabbg',$domain); my $font=&designparm($function.'.font',$domain); my $link=&designparm($function.'.link',$domain); @@ -2953,6 +2953,12 @@ Inputs: none sub endbodytag { my $endbodytag='
sect Inputs: $title - optional title for the page $head_extra - optional extra HTML to incude inside the - %args - additional optional args supported are: + $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 -> ... + redirect -> see &headtag() + bgcolor -> override the default page bg color + js_ready -> return a string ready for being used in + a javascript writeln =back @@ -3061,13 +3077,18 @@ sub start_page { if (defined($args->{'redirect'})) { $head_args{'redirect'} = $args->{'redirect'}; } - - return + $env{'internal.start_page'}++; + my $result = &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'}); + undef,undef,undef,$args->{'no_nav_bar'},$args->{'bgcolor'}); + if ($args->{'js_ready'}) { + $result =~ s/[\n\r]/ /g; + $result =~ s/'/\\'/g; + } + return $result; } =pod @@ -3078,15 +3099,47 @@ sub start_page { Returns a complete section for LON-CAPA web pages. -Inputs: None - +Inputs: $args - additional optional args supported are: + js_ready -> return a string ready for being used in + a javascript writeln =back =cut sub end_page { - return &endbodytag."\n"; + my ($args) = @_; + $env{'internal.end_page'}++; + my $result = &endbodytag()."\n';
$endbodytag=&Apache::lontexconvert::jsMath_process()."\n".$endbodytag;
+ if ( exists( $env{'internal.head.redirect'} ) ) {
+ $endbodytag=
+ "
".
+ &mt('Continue').''.
+ $endbodytag;
+ }
return $endbodytag;
}
@@ -2966,7 +2972,12 @@ 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
+ redirect - array ref of seconds before redirect occurs
+ url to redirect to
+ (side effect of setting
+ $env{'internal.head.redirect'} to the url
+ redirected too)
=back
=cut
@@ -2979,8 +2990,10 @@ sub headtag {
&Apache::lonxml::fontsettings().
&Apache::lonhtmlcommon::htmlareaheaders();
- if (ref($args->{'redir'})) {
- my ($time,$url) = @{$args->{'redir'}};
+ if (ref($args->{'redirect'})) {
+ my ($time,$url) = @{$args->{'redirect'}};
+ $url = &Apache::lonenc::check_encrypt($url);
+ $env{'internal.head.redirect'} = $url;
$result.=<
'.$head_extra; + $result .= '
'.$head_extra; return $result; } @@ -3042,14 +3055,17 @@ Returns a complete ..