[LON-CAPA-cvs] cvs: loncom /interface lonexttool.pm
raeburn
raeburn at source.lon-capa.org
Sat Mar 15 13:28:14 EDT 2025
raeburn Sat Mar 15 17:28:14 2025 EDT
Modified files:
/loncom/interface lonexttool.pm
Log:
- Bug 6754. Wrap URI in launch_presentation_return_url when not in iframe.
Index: loncom/interface/lonexttool.pm
diff -u loncom/interface/lonexttool.pm:1.26 loncom/interface/lonexttool.pm:1.27
--- loncom/interface/lonexttool.pm:1.26 Sat Mar 15 01:03:33 2025
+++ loncom/interface/lonexttool.pm Sat Mar 15 17:28:14 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Launch External Tool Provider (LTI)
#
-# $Id: lonexttool.pm,v 1.26 2025/03/15 01:03:33 raeburn Exp $
+# $Id: lonexttool.pm,v 1.27 2025/03/15 17:28:14 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -228,7 +228,7 @@
}
my $submittext = &mt('Launch [_1]',$toolhash{'title'});
if (($toolhash{'url'} ne '') && ($launchok)) {
- my %lti = <i_params($r,$cnum,$cdom,$idx,$submittext,\%toolhash);
+ my %lti = <i_params($r,$cnum,$cdom,$marker,$exttool,$idx,$submittext,\%toolhash);
my $url = $toolhash{'url'};
if ($toolhash{'crsappend'} ne '') {
$url .= $toolhash{'crsappend'};
@@ -246,7 +246,7 @@
}
sub lti_params {
- my ($r,$cnum,$cdom,$idx,$submittext,$toolsref) = @_;
+ my ($r,$cnum,$cdom,$marker,$exttool,$idx,$submittext,$toolsref) = @_;
my ($version,$context_type,$msgtype,$toolname,$passback,$roster,$locale,
$crslabel,$crstitle,$gradesecret,$rostersecret,%fields,%rolesmap,
%display,%custom, at userlangs,$incdom,$returnurl,$backtourl);
@@ -324,6 +324,7 @@
}
my ($title,$digest_symb,$digest_suppurl,$resource_link_id);
my ($symb) = &Apache::lonnet::whichuser();
+ my $uri = "/adm/$cdom/$cnum/$marker/$exttool";
if ($symb) {
$digest_symb = &Encode::decode('UTF-8',$symb);
$digest_symb = &Digest::SHA::sha1_hex($digest_symb);
@@ -336,8 +337,8 @@
$title = $res->compTitle();
}
}
- } elsif ($env{'httpref.'.$env{'request.noversionuri'}} eq '/adm/coursedoc') {
- $digest_suppurl = &Encode::decode('UTF-8',$env{'request.noversionuri'});
+ } elsif ($env{'httpref.'.$uri} eq '/adm/coursedoc') {
+ $digest_suppurl = &Encode::decode('UTF-8',$uri);
$digest_suppurl = &Digest::SHA::sha1_hex($digest_suppurl);
$resource_link_id = $digest_suppurl;
}
@@ -489,14 +490,14 @@
$return_url = $mapurl;
}
$return_url .= '?navmap=1';
- } elsif ($env{'httpref.'.$env{'request.noversionuri'}} eq '/adm/coursedoc') {
+ } elsif ($env{'httpref.'.$uri} eq '/adm/coursedoc') {
$return_url = '/adm/supplemental';
} else {
$return_url = '/adm/navmaps';
}
$ltiparams{'launch_presentation_return_url'} = $location.$return_url;
} else {
- my $uri = $env{'request.noversionuri'};
+ $uri = '/adm/wrapper'.$uri;
if ($env{'request.enc'}) {
$uri = &Apache::lonenc::encrypted($uri);
}
More information about the LON-CAPA-cvs
mailing list