[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm

albertel lon-capa-cvs@mail.lon-capa.org
Tue, 21 Mar 2006 20:36:16 -0000


albertel		Tue Mar 21 15:36:16 2006 EDT

  Modified files:              
    /loncom/interface	loncommon.pm 
  Log:
  - add force_register to start_page
  - document bgcolro to bodytag
  - pass domain frm start_page to body_tag
  
  
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.316 loncom/interface/loncommon.pm:1.317
--- loncom/interface/loncommon.pm:1.316	Tue Mar 21 13:32:19 2006
+++ loncom/interface/loncommon.pm	Tue Mar 21 15:36:15 2006
@@ -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 @@
 
 =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 @@
 Inputs: $title - optional title for the page
         $head_extra - optional extra HTML to incude inside the <head>
         $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  <body>
-                  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  <body>
+                  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 @@
     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 @@
     $env{'internal.end_page'}++;
     my $result = &endbodytag()."\n</html>";
     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) {