[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