--- loncom/interface/loncommon.pm 2006/03/21 18:32:19 1.316 +++ loncom/interface/loncommon.pm 2006/03/21 20:36:15 1.317 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.316 2006/03/21 18:32:19 albertel Exp $ +# $Id: loncommon.pm,v 1.317 2006/03/21 20:36:15 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2741,6 +2741,9 @@ Inputs: =item * $notopbar, if true, keep the 'what is this' info but remove the navigational links + +=item * $bgcolor, used to override the bg coor on a webpage to a specific value + =back Returns: A uniform header for LON-CAPA web pages. @@ -3056,16 +3059,20 @@ Returns a complete .. sect 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 -> see &headtag() - bgcolor -> override the default page bg color - js_ready -> return a string ready for being used in - a javascript writeln + 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 -> see &headtag() + bgcolor -> override the default page bg color + js_ready -> return a string ready for being used in + a javascript writeln + force_register -> if is true will turn on the &bodytag() + $forcereg arg =back @@ -3081,12 +3088,13 @@ sub 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'},$args->{'bgcolor'}); + &bodytag($title, + $args->{'function'}, $args->{'add_entries'}, + $args->{'only_body'}, $args->{'domain'}, + $args->{'force_register'}, undef, + $args->{'no_nav_bar'}, $args->{'bgcolor'}); if ($args->{'js_ready'}) { - $result =~ s/[\n\r]/ /g; - $result =~ s/'/\\'/g; + $result = &js_ready($result); } return $result; } @@ -3111,12 +3119,21 @@ sub end_page { $env{'internal.end_page'}++; my $result = &endbodytag()."\n"; if ($args->{'js_ready'}) { - $result =~ s/[\n\r]/ /g; - $result =~ s/'/\\'/g; + $result = &js_ready($result); } return $result; } +sub js_ready { + my ($result) = @_; + $result = &HTML::Entities::encode($result,'<>&"'); + + $result =~ s/[\n\r]/ /g; + $result =~ s/'/\\'/g; + + return $result; +} + sub validate_page { if ( exists($env{'internal.start_page'}) && $env{'internal.start_page'} > 1) {