--- loncom/interface/lonhtmlcommon.pm 2018/04/14 02:29:44 1.392 +++ loncom/interface/lonhtmlcommon.pm 2018/12/27 20:10:31 1.394 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.392 2018/04/14 02:29:44 raeburn Exp $ +# $Id: lonhtmlcommon.pm,v 1.394 2018/12/27 20:10:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -105,9 +105,13 @@ sub direct_parm_link { $filter=&entity_encode($filter); $part=&entity_encode($part); if (($symb) && (&Apache::lonnet::allowed('opa')) && ($target ne 'tex')) { - return "$linktext"; + my $target=' target="_top"'; + if (($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) { + $target=''; + } + return "$linktext"; } else { - return $linktext; + return $linktext; } } ############################################## @@ -1929,9 +1933,9 @@ returns: nothing } } } - my $target; - unless (($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) { - $target='_top'; + my $target = '_top'; + if (($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) { + $target=''; } $menulink = { href =>'/adm/menu', title =>'Go to main menu', @@ -1954,7 +1958,10 @@ returns: nothing class => 'LC_menubuttons_link', }; if ($env{'request.noversionuri'} eq '/adm/searchcat') { - $hashref->{'target'} = '_top'; + $hashref->{'target'} = '_top'; + if (($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) { + $hashref->{'target'} = ''; + } } $links=&htmltag( 'a',''.$alttext.'', $hashref); @@ -3501,7 +3508,16 @@ function go(url) { currentURL = null; currentSymb= null; var lcHostname = setLCHost(); - window.location.href=lcHostname+url; + if (lcHostname!='' && lcHostname!= null) { + var RegExp = /^https?\:/; + if (RegExp.test(url)) { + window.location.href=url; + } else { + window.location.href=lcHostname+url; + } + } else { + window.location.href=url; + } } } @@ -3547,7 +3563,9 @@ sub jump_to_editres { $anchor = $3; $is_ext = 1; if (($extlink !~ /^https:/) && ($ENV{'SERVER_PORT'} == 443)) { - $usehttp = 1; + unless (&Apache::lonnet::uses_sts()) { + $usehttp = 1; + } } elsif ($env{'request.use_absolute'}) { if ($env{'request.use_absolute'} =~ m{^https://}) { $usehttps = 1; @@ -3560,7 +3578,9 @@ sub jump_to_editres { ($env{'course.'.$env{'request.course.id'}.'.num'} eq $cnum) && ($env{'course.'.$env{'request.course.id'}.'.domain'} eq $cdom)) { if ($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ m{^http://}) { - $usehttp = 1; + unless (&Apache::lonnet::uses_sts()) { + $usehttp = 1; + } } } } elsif ($env{'request.use_absolute'}) {