version 1.12, 2018/05/30 17:22:30
|
version 1.14, 2018/08/14 17:24:21
|
Line 276 sub verify_lis_item {
|
Line 276 sub verify_lis_item {
|
my ($has_action, $valid_for); |
my ($has_action, $valid_for); |
if ($context eq 'grade') { |
if ($context eq 'grade') { |
$has_action = $ltitools->{'passback'}; |
$has_action = $ltitools->{'passback'}; |
$valid_for = $ltitools->{'passbackvalid'} |
$valid_for = $ltitools->{'passbackvalid'} * 86400; # convert days to seconds |
} elsif ($context eq 'roster') { |
} elsif ($context eq 'roster') { |
$has_action = $ltitools->{'roster'}; |
$has_action = $ltitools->{'roster'}; |
$valid_for = $ltitools->{'rostervalid'}; |
$valid_for = $ltitools->{'rostervalid'}; |
Line 382 sub set_service_secret {
|
Line 382 sub set_service_secret {
|
my $warning; |
my $warning; |
my ($needsnew,$oldsecret,$lifetime); |
my ($needsnew,$oldsecret,$lifetime); |
if ($name eq 'grade') { |
if ($name eq 'grade') { |
$lifetime = $ltitools->{'passbackvalid'} |
$lifetime = $ltitools->{'passbackvalid'} * 86400; # convert days to seconds |
} elsif ($name eq 'roster') { |
} elsif ($name eq 'roster') { |
$lifetime = $ltitools->{'rostervalid'}; |
$lifetime = $ltitools->{'rostervalid'}; |
} |
} |
if ($toolsettings->{$name} eq '') { |
if ($toolsettings->{$name.'secret'} eq '') { |
$needsnew = 1; |
$needsnew = 1; |
} elsif (($toolsettings->{$name.'date'} + $lifetime) < $now) { |
} elsif (($toolsettings->{$name.'secretdate'} + $lifetime) < $now) { |
$oldsecret = $toolsettings->{$name.'secret'}; |
$oldsecret = $toolsettings->{$name.'secret'}; |
$needsnew = 1; |
$needsnew = 1; |
} |
} |
Line 488 sub lti_provider_scope {
|
Line 488 sub lti_provider_scope {
|
$scope = 'map'; |
$scope = 'map'; |
$realuri = $tail; |
$realuri = $tail; |
} else { |
} else { |
my ($map,$resid,$url) = &Apache::lonnet::decode_symb($tail); |
my $symb = $tail; |
|
$symb =~ s{^/}{}; |
|
my ($map,$resid,$url) = &Apache::lonnet::decode_symb($symb); |
$realuri = &Apache::lonnet::clutter($url); |
$realuri = &Apache::lonnet::clutter($url); |
if ($url =~ /\.sequence$/) { |
if ($url =~ /\.sequence$/) { |
$scope = 'map'; |
$scope = 'map'; |
} else { |
} else { |
$scope = 'resource'; |
$scope = 'resource'; |
$realuri .= '?symb='.$tail; |
$realuri .= '?symb='.$symb; |
$passkey = $tail; |
$passkey = $symb; |
if ($getunenc) { |
if ($getunenc) { |
$unencsymb = $tail; |
$unencsymb = $symb; |
} |
} |
} |
} |
} |
} |
Line 507 sub lti_provider_scope {
|
Line 509 sub lti_provider_scope {
|
$scope = 'map'; |
$scope = 'map'; |
$realuri = $tail; |
$realuri = $tail; |
} else { |
} else { |
my ($map,$resid,$url) = &Apache::lonnet::decode_symb($tail); |
my $symb = $tail; |
|
$symb =~ s{^/?res/}{}; |
|
my ($map,$resid,$url) = &Apache::lonnet::decode_symb($symb); |
$realuri = &Apache::lonnet::clutter($url); |
$realuri = &Apache::lonnet::clutter($url); |
if ($url =~ /\.sequence$/) { |
if ($url =~ /\.sequence$/) { |
$scope = 'map'; |
$scope = 'map'; |
} else { |
} else { |
$scope = 'resource'; |
$scope = 'resource'; |
$realuri .= '?symb='.$tail; |
$realuri .= '?symb='.$symb; |
$passkey = $tail; |
$passkey = $symb; |
if ($getunenc) { |
if ($getunenc) { |
$unencsymb = $tail; |
$unencsymb = $symb; |
} |
} |
} |
} |
} |
} |
Line 562 sub lti_provider_scope {
|
Line 566 sub lti_provider_scope {
|
} elsif (($tail =~ m{^/$cdom/$cnum$}) || ($tail eq '')) { |
} elsif (($tail =~ m{^/$cdom/$cnum$}) || ($tail eq '')) { |
$scope = 'course'; |
$scope = 'course'; |
$realuri = '/adm/navmaps'; |
$realuri = '/adm/navmaps'; |
$passkey = $tail; |
$passkey = ''; |
} |
} |
if ($scope eq 'map') { |
if ($scope eq 'map') { |
$passkey = $realuri; |
$passkey = $realuri; |
Line 588 sub get_roster {
|
Line 592 sub get_roster {
|
lti_message_type => 'basic-lis-readmembershipsforcontext', |
lti_message_type => 'basic-lis-readmembershipsforcontext', |
ext_ims_lis_memberships_id => $id, |
ext_ims_lis_memberships_id => $id, |
); |
); |
my $hashref = &sign_params($url,$ckey,$secret,\%ltiparams); |
my $hashref = &sign_params($url,$ckey,$secret,'',\%ltiparams); |
if (ref($hashref) eq 'HASH') { |
if (ref($hashref) eq 'HASH') { |
my $request=new HTTP::Request('POST',$url); |
my $request=new HTTP::Request('POST',$url); |
$request->content(join('&',map { |
$request->content(join('&',map { |
Line 671 sub send_grade {
|
Line 675 sub send_grade {
|
result_statusofresult => 'final', |
result_statusofresult => 'final', |
result_date => $date, |
result_date => $date, |
); |
); |
my $hashref = &sign_params($url,$ckey,$secret,\%ltiparams); |
my $hashref = &sign_params($url,$ckey,$secret,'',\%ltiparams); |
if (ref($hashref) eq 'HASH') { |
if (ref($hashref) eq 'HASH') { |
my $request=new HTTP::Request('POST',$url); |
my $request=new HTTP::Request('POST',$url); |
$request->content(join('&',map { |
$request->content(join('&',map { |