[LON-CAPA-cvs] cvs: rat / lonwrapper.pm

raeburn raeburn at source.lon-capa.org
Tue Oct 15 06:17:19 EDT 2013


raeburn		Tue Oct 15 10:17:19 2013 EDT

  Modified files:              
    /rat	lonwrapper.pm 
  Log:
  - wrapper() takes additional fourth argument -- $is_ext (true if item
    being wrapped is an external resource.
  
  
Index: rat/lonwrapper.pm
diff -u rat/lonwrapper.pm:1.44 rat/lonwrapper.pm:1.45
--- rat/lonwrapper.pm:1.44	Sat Sep  7 19:58:08 2013
+++ rat/lonwrapper.pm	Tue Oct 15 10:17:19 2013
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Wrapper for external and binary files as standalone resources
 #
-# $Id: lonwrapper.pm,v 1.44 2013/09/07 19:58:08 raeburn Exp $
+# $Id: lonwrapper.pm,v 1.45 2013/10/15 10:17:19 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -40,7 +40,7 @@
 
 # ================================================================ Main Handler
 sub wrapper {
-    my ($url,$brcrum,$absolute) = @_;
+    my ($url,$brcrum,$absolute,$is_ext) = @_;
 
     my $forcereg;
     unless ($env{'form.folderpath'}) {
@@ -52,7 +52,7 @@
         $args->{'force_register'} = $forcereg;
     }
     if (ref($brcrum) eq 'ARRAY') {
-         $args->{'bread_crumbs'} = $brcrum;
+        $args->{'bread_crumbs'} = $brcrum;
     }
     if ($absolute) {
         $args->{'use_absolute'} = $absolute; 
@@ -172,7 +172,7 @@
         # encrypt url if not external
         &Apache::lonenc::check_encrypt(\$url) if $url !~ /^https?\:/ ;
 
-        $r->print( wrapper($url,$brcrum,$absolute) );
+        $r->print( wrapper($url,$brcrum,$absolute,$is_ext) );
 
     } # not just the menu
     
@@ -199,11 +199,44 @@
 
 =over
 
-=item wrapper($url,$brcrum)
+=item wrapper($url,$brcrum,$absolute,$is_ext)
 
-Wraps $url in an iframe and generates a page for it.
-$brcrum contains breadcrumbs for unregistered urls
+=over
+
+=item $url 
+ 
+url to display by including in an iframe within a
+LON-CAPA page which has a standard LON-CAPA inline menu.
+
+=item $brcrum
+
+breadcrumbs for unregistered urls
 (i.e., external resources in Supplemental Content).
+
+=item $absolute 
+
+contains protocol (http or https) followed by
+the hostname, if menu items in the standard LON-CAPA
+interface created by the call to loncommon::start_page()
+within &wrapper() need to use absolute URLs rather than
+relative URLs.
+
+That will be the case where an external resource has been 
+served from port 80, when the server customarily serves
+requests using Apache/SSL (i.e., port 443). mod_rewrite 
+is used to switch requests for external resources  
+from https:// to http:// where the the URL of the remote site 
+specified in the resource itself is http://.
+
+This is done to avoid default mixed content blocking
+in Firefox 23 and later, when serving from Apache/SSL.
+
+=item $is_ext
+
+true if URL is for an external resource.
+
+=back
+
 Returns markup for the entire page.
 
 =item handler()




More information about the LON-CAPA-cvs mailing list