--- loncom/interface/lonnavmaps.pm 2017/02/20 18:29:22 1.528 +++ loncom/interface/lonnavmaps.pm 2017/03/08 02:51:08 1.529 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.528 2017/02/20 18:29:22 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.529 2017/03/08 02:51:08 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1688,9 +1688,10 @@ END # it contains a syllabus which uses an external URL # which points at an http site. - my ($is_ssl,$cdom,$cnum); + my ($is_ssl,$cdom,$cnum,$hostname); if ($ENV{'SERVER_PORT'} == 443) { $is_ssl = 1; + $hostname = $r->hostname(); } if ($env{'request.course.id'}) { $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; @@ -1831,14 +1832,17 @@ END ($src,$symb,$anchor)=getLinkForResource($stack); my $srcHasQuestion = $src =~ /\?/; if ($env{'request.course.id'}) { - if (($src =~ m{^\Q/public/$cdom/$cnum/syllabus\E($|\?)}) && ($is_ssl) && + if (($is_ssl) && ($src =~ m{^\Q/public/$cdom/$cnum/syllabus\E($|\?)}) && ($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ m{^http://})) { - my $hostname = $r->hostname(); if ($hostname ne '') { $src = 'http://'.$hostname.$src; } $src .= ($srcHasQuestion? '&' : '?') . 'usehttp=1'; $srcHasQuestion = 1; + } elsif (($is_ssl) && ($src =~ m{^\Q/adm/wrapper/ext/\E(?!https:)})) { + if ($hostname ne '') { + $src = 'http://'.$hostname.$src; + } } } if (defined($anchor)) { $anchor='#'.$anchor; }