$endpage
ENDFRAME
@@ -153,21 +164,22 @@ 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']);
+ ['forceedit','register','folderpath','symb','idx','title','anchor']);
if (($env{'form.forceedit'}) &&
(&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) &&
(($env{'form.folderpath'} =~ /^supplemental/) ||
($env{'form.symb'} =~ /^uploaded/))) {
+ if ($env{'form.symb'}) {
+ (undef,undef,my $res) = &Apache::lonnet::decode_symb($env{'form.symb'});
+ if ($res =~ /(#[^#]+)$/) {
+ $url .= $1;
+ }
+ } elsif ($env{'form.folderpath'} =~ /^supplemental/) {
+ if ($env{'form.anchor'} ne '') {
+ $url .= '#'.$env{'form.anchor'};
+ }
+ }
$r->print(
&Apache::lonextresedit::display_editor($url,$env{'form.folderpath'},
$env{'form.symb'},
@@ -198,6 +210,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 +249,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 +274,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 +291,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.