version 1.387, 2024/12/09 22:22:57
|
version 1.389, 2024/12/13 05:04:49
|
Line 2008 sub run_passback {
|
Line 2008 sub run_passback {
|
my $uname = $item->{'uname'}; |
my $uname = $item->{'uname'}; |
my $udom = $item->{'udom'}; |
my $udom = $item->{'udom'}; |
my $uhome = $item->{'uhome'}; |
my $uhome = $item->{'uhome'}; |
|
my $usec = $item->{'usec'}; |
my $keynum = $item->{'lti'}->{'cipher'}; |
my $keynum = $item->{'lti'}->{'cipher'}; |
my $crsdef = $item->{'crsdef'}; |
my $crsdef = $item->{'crsdef'}; |
my $scoretype = $item->{'format'}; |
my $scoretype = $item->{'format'}; |
Line 2041 sub run_passback {
|
Line 2042 sub run_passback {
|
if (($pbscope eq 'map') || ($pbscope eq 'nonrec')) { |
if (($pbscope eq 'map') || ($pbscope eq 'nonrec')) { |
if ((keys(%total_by_symb)) && (keys(%possible_by_symb))) { |
if ((keys(%total_by_symb)) && (keys(%possible_by_symb))) { |
($total,$possible) = |
($total,$possible) = |
&get_lti_score($uname,$udom,$map,$pbscope,\%total_by_symb,\%possible_by_symb); |
&get_lti_score($uname,$udom,$usec,$map,$pbscope,\%total_by_symb,\%possible_by_symb); |
} else { |
} else { |
($total,$possible) = &get_lti_score($uname,$udom,$map,$pbscope); |
($total,$possible) = &get_lti_score($uname,$udom,$usec,$map,$pbscope); |
} |
} |
} elsif ($pbscope eq 'course') { |
} elsif ($pbscope eq 'course') { |
($total,$possible) = &get_lti_score($uname,$udom); |
($total,$possible) = &get_lti_score($uname,$udom,$usec); |
} |
} |
$item->{'total'} = $total; |
$item->{'total'} = $total; |
$item->{'possible'} = $possible; |
$item->{'possible'} = $possible; |
Line 2111 sub run_passback {
|
Line 2112 sub run_passback {
|
$no_passback .= " LTI launcher $linkprotector ($appname) for $linkuri (${cdom}_${cnum})"; |
$no_passback .= " LTI launcher $linkprotector ($appname) for $linkuri (${cdom}_${cnum})"; |
&Apache::lonnet::logthis($no_passback." for $uname:$udom"); |
&Apache::lonnet::logthis($no_passback." for $uname:$udom"); |
&Apache::lonnet::log($udom,$uname,$uhome,"$no_passback score=$score total=$total poss=$possible"); |
&Apache::lonnet::log($udom,$uname,$uhome,"$no_passback score=$score total=$total poss=$possible"); |
&Apache::lonnet::put('linkprot_passback_pending',$item,$cdom,$cnum); |
if ($item->{'linkprot'}) |
|
my $pendingkey = &Time::HiRes::time().':'.$uname.':'.$udom.':'. |
|
"$linkuri\0$linkprotector\0$scope"; |
|
&Apache::lonnet::put('linkprot_passback_pending',{$pendingkey => $item},$cdom,$cnum); |
|
} |
} |
} |
} |
} |
} |
} |
Line 2121 sub run_passback {
|
Line 2126 sub run_passback {
|
} |
} |
|
|
sub get_lti_score { |
sub get_lti_score { |
my ($uname,$udom,$mapurl,$pbscope,$totals,$possibles) = @_; |
my ($uname,$udom,$usec,$mapurl,$pbscope,$totals,$possibles) = @_; |
my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom); |
my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom,$usec); |
if (ref($navmap)) { |
if (ref($navmap)) { |
my $iterator; |
my $iterator; |
if ($mapurl ne '') { |
if ($mapurl ne '') { |