--- rat/lonwrapper.pm 2014/05/20 11:47:06 1.47
+++ rat/lonwrapper.pm 2014/06/17 23:22:21 1.49
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Wrapper for external and binary files as standalone resources
#
-# $Id: lonwrapper.pm,v 1.47 2014/05/20 11:47:06 raeburn Exp $
+# $Id: lonwrapper.pm,v 1.49 2014/06/17 23:22:21 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -40,7 +40,7 @@ use Apache::lonextresedit();
# ================================================================ Main Handler
sub wrapper {
- my ($url,$brcrum,$absolute,$is_ext,$is_pdf) = @_;
+ my ($url,$brcrum,$absolute,$is_ext,$is_pdf,$title) = @_;
my $forcereg;
unless ($env{'form.folderpath'}) {
@@ -70,11 +70,13 @@ sub wrapper {
if ($env{'browser.mobile'}) {
my $output = $startpage;
if ($is_pdf) {
- my $title = $env{'form.title'};
if ($title eq '') {
- unless ($env{'request.enc'}) {
- ($title) = ($url =~ m{/([^/]+)$});
- $title =~ s/(\?[^\?]+)$//;
+ $title = $env{'form.title'};
+ if ($title eq '') {
+ unless ($env{'request.enc'}) {
+ ($title) = ($url =~ m{/([^/]+)$});
+ $title =~ s/(\?[^\?]+)$//;
+ }
}
}
unless ($title eq '') {
@@ -83,13 +85,10 @@ sub wrapper {
$output .= ''.&mt('Link to PDF (for mobile devices)').'';
} else {
$output .= '
'."\n".
- '
\n";
- $output .= ''."\n".
- "$lt{'noif'} $noiframe\n".
- '';
}
$output .= $endpage;
return $output;
@@ -153,15 +152,6 @@ sub handler {
}
if ($is_ext) {
- my $hostname = $r->hostname();
- my $lonhost = &Apache::lonnet::host_from_dns($hostname);
- if ($lonhost) {
- my $actual = &Apache::lonnet::absolute_url($hostname);
- my $expected = $Apache::lonnet::protocol{$lonhost}.'://'.$hostname;
- unless ($actual eq $expected) {
- $absolute = $expected;
- }
- }
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['forceedit','register','folderpath','symb','idx','title']);
if (($env{'form.forceedit'}) &&
@@ -198,6 +188,7 @@ sub handler {
# This is not homework
#
if ($is_ext) {
+ $absolute = $env{'request.use_absolute'};
$ENV{'QUERY_STRING'} =~ s/(^|\&)symb=[^\&]*/$1/;
$ENV{'QUERY_STRING'} =~ s/\&$//;
}
@@ -236,7 +227,7 @@ described at http://www.lon-capa.org.
=over
-=item wrapper($url,$brcrum,$absolute,$is_ext,$is_pdf))
+=item wrapper($url,$brcrum,$absolute,$is_ext,$is_pdf,$title))
=over
@@ -261,7 +252,9 @@ 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
+is used to switch requests for external resources and
+the syllabus: /public///syllabus
+(which might also point at an external resource)
from https:// to http:// where the the URL of the remote site
specified in the resource itself is http://.
@@ -276,6 +269,14 @@ true if URL is for an external resource.
true if URL is for a PDF (based on file extension).
+=item $title
+
+optional. If wrapped item is a PDF, and $env{'browser.mobile'}
+is true, a link to a PDF is shown. The "title" will be displayed
+above the link, but if not provided as an arg, $env{'form.title'}
+will be used, otherwise, the filename will be displayed (unless
+hidden URL set for the resource).
+
=back
Returns markup for the entire page.