version 1.2, 2017/12/09 16:20:24
|
version 1.5, 2017/12/15 17:07:09
|
Line 141 sub handler {
|
Line 141 sub handler {
|
|
|
unless (&LONCAPA::ltiutils::check_nonce($params->{'oauth_nonce'},$params->{'oauth_timestamp'}, |
unless (&LONCAPA::ltiutils::check_nonce($params->{'oauth_nonce'},$params->{'oauth_timestamp'}, |
$ltitools{'lifetime'},$cdom,$r->dir_config('lonLTIDir'))) { |
$ltitools{'lifetime'},$cdom,$r->dir_config('lonLTIDir'))) { |
$errors{15} = 1; |
$errors{16} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
return OK; |
return OK; |
} |
} |
Line 168 sub handler {
|
Line 168 sub handler {
|
%maproles = %{$ltitools{'roles'}}; |
%maproles = %{$ltitools{'roles'}}; |
} |
} |
unless (keys(%maproles)) { |
unless (keys(%maproles)) { |
$errors{20} = 1; |
$errors{21} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
return OK; |
return OK; |
} |
} |
Line 205 sub handler {
|
Line 205 sub handler {
|
} |
} |
} |
} |
unless ($hasrole) { |
unless ($hasrole) { |
$errors{21} = 1; |
$errors{22} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
return OK; |
return OK; |
} |
} |
} else { |
} else { |
$errors{22} = 1; |
$errors{23} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
return OK; |
return OK; |
} |
} |
Line 226 sub handler {
|
Line 226 sub handler {
|
$resulttype =~ s/(^\s+|\s+)$//g; |
$resulttype =~ s/(^\s+|\s+)$//g; |
} else { |
} else { |
$resulttype = 'decimal'; |
$resulttype = 'decimal'; |
} |
} |
$result = $params->{'result_resultscore_textstring'}; |
$result = $params->{'result_resultscore_textstring'}; |
$result =~ s/(^\s+|\s+)$//g; |
$result =~ s/(^\s+|\s+)$//g; |
my $posslang = $params->{'result_resultscore_language'}; |
my $posslang = $params->{'result_resultscore_language'}; |
Line 245 sub handler {
|
Line 245 sub handler {
|
}; |
}; |
} |
} |
if ($@) { |
if ($@) { |
$errors{22} = 1; |
$errors{24} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
return OK; |
return OK; |
} |
} |
Line 270 sub handler {
|
Line 270 sub handler {
|
my %newrecord=(); |
my %newrecord=(); |
my $reckey = 'resource.0.solved'; |
my $reckey = 'resource.0.solved'; |
my %record = &Apache::lonnet::restore($symb,$cdom.'_'.$cnum,$udom,$uname); |
my %record = &Apache::lonnet::restore($symb,$cdom.'_'.$cnum,$udom,$uname); |
|
my $tries = 0; |
|
if ($record{'resource.0.tries'} =~ /^\d$/) { |
|
$tries = $record{'resource.0.tries'}; |
|
} |
if ($record{'resource.0.awarded'} ne $pcf) { |
if ($record{'resource.0.awarded'} ne $pcf) { |
$newrecord{'resource.0.awarded'} = $pcf; |
$newrecord{'resource.0.awarded'} = $pcf; |
} |
} |
if ($pcf == 0) { |
if ($pcf == 0) { |
if ($record{$reckey} ne 'incorrect_by_override') { |
if ($record{$reckey} ne 'incorrect_by_passback') { |
$newrecord{$reckey} = 'incorrect_by_override'; |
$newrecord{$reckey} = 'incorrect_by_passback'; |
} |
} |
} else { |
} else { |
if ($record{$reckey} ne 'correct_by_override') { |
if ($record{$reckey} ne 'correct_by_passback') { |
$newrecord{$reckey} = 'correct_by_override'; |
$newrecord{$reckey} = 'correct_by_passback'; |
} |
} |
} |
} |
if (%newrecord) { |
if (%newrecord) { |
|
$newrecord{'resource.0.tries'} = 1 + $tries; |
|
$env{'request.course.id'} = $cdom.'_'.$cnum; |
my $result = &Apache::lonnet::cstore(\%newrecord,$symb,$cdom.'_'.$cnum, |
my $result = &Apache::lonnet::cstore(\%newrecord,$symb,$cdom.'_'.$cnum, |
$udom,$uname); |
$udom,$uname); |
|
delete($env{'request.course.id'}); |
if (($result eq 'ok') || ($result eq 'con_delayed')) { |
if (($result eq 'ok') || ($result eq 'con_delayed')) { |
&success($r,$params->{'sourcedid'},$resulttype,$result,$lang); |
&success($r,$params->{'sourcedid'},$resulttype,$result,$lang); |
} else { |
} else { |
$errors{23} = 1; |
$errors{25} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
} |
} |
|
} else { |
|
&success($r,$params->{'sourcedid'},$resulttype,$result,$lang); |
} |
} |
} else { |
} else { |
$errors{24} = 1; |
$errors{26} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
} |
} |
} else { |
} else { |
$errors{25} = 1; |
$errors{27} = 1; |
&invalid_request($r,$params,\%errors); |
&invalid_request($r,$params,\%errors); |
} |
} |
return OK; |
return OK; |