--- loncom/homework/bridgetask.pm 2015/10/05 02:35:40 1.265 +++ loncom/homework/bridgetask.pm 2020/09/01 16:36:38 1.271 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.265 2015/10/05 02:35:40 raeburn Exp $ +# $Id: bridgetask.pm,v 1.271 2020/09/01 16:36:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,6 +65,7 @@ sub initialize_bridgetask { sub proctor_check_auth { my ($slot_name,$slot,$type)=@_; my $user=$env{'form.proctorname'}; + $user =~ s/^\s+|\s+$//g; my $domain=$env{'form.proctordomain'}; my @allowed=split(",",$slot->{'proctor'}); @@ -97,7 +98,7 @@ sub proctor_check_auth { sub check_in { my ($type,$user,$domain,$slot_name,$needsiptied) = @_; my $useslots = &Apache::lonnet::EXT("resource.0.useslots"); - my $ip=$env{'request.host'} || $ENV{'REMOTE_ADDR'}; + my $ip=$ENV{'REMOTE_ADDR'} || $env{'request.host'}; if ( $useslots eq 'map_map') { my $result = &check_in_sequence($user,$domain,$slot_name,$ip,$needsiptied); if ($result =~ /^error: /) { @@ -123,7 +124,7 @@ sub check_in_sequence { my ($symb) = &Apache::lonnet::whichuser(); my ($map) = &Apache::lonnet::decode_symb($symb); my @resources = - $navmap->retrieveResources($map, sub { $_[0]->is_problem() },0,0); + $navmap->retrieveResources($map, sub { $_[0]->is_problem() || $_[0]->is_tool() },0,0); my %old_history = %Apache::lonhomework::history; my %old_results = %Apache::lonhomework::results; @@ -131,7 +132,14 @@ sub check_in_sequence { foreach my $res (@resources) { &Apache::lonxml::debug("doing ".$res->src); &Apache::structuretags::initialize_storage($res->symb); - my $type = ($res->is_task()) ? 'Task' : 'problem'; + my $type; + if ($res->is_task()) { + $type = 'Task'; + } elsif ($res->is_tool) { + $type = 'tool'; + } else { + $type = 'problem'; + } my $result = &create_new_version($type,$user,$domain,$slot_name,$res->symb,$ip,$needsiptied); if ($result eq 'ok') { &Apache::structuretags::finalize_storage($res->symb); @@ -187,7 +195,7 @@ sub create_new_version { $domain = $env{'user.domain'}; } - } elsif ($type eq 'problem') { + } elsif (($type eq 'problem') || ($type eq 'tool')) { &Apache::lonxml::debug("authed $slot_name"); } if (!defined($user) || !defined($domain)) { @@ -711,7 +719,8 @@ sub start_Task { $target eq 'tex') { if ($env{'form.markaccess'}) { my @interval=&Apache::lonnet::EXT("resource.0.interval"); - &Apache::lonnet::set_first_access($interval[1],$interval[0]); + my ($timelimit) = ($interval[0] =~ /^(\d+)/); + &Apache::lonnet::set_first_access($interval[1],$timelimit); } } @@ -1443,7 +1452,7 @@ DONEBUTTON if ($canstore) { &Apache::structuretags::finalize_storage(); my @interval = &Apache::lonnet::EXT("resource.0.interval"); - if ($interval[0] =~ /^\d+$/ && $interval[1] eq 'resource') { + if ($interval[0] =~ /^\d+/ && $interval[1] eq 'resource') { my $key=$courseid."\0".$symb; my %times=&Apache::lonnet::get('firstaccesstimes', [$key],$domain,$name); @@ -3321,9 +3330,9 @@ sub proctor_validation_screen { - - - + + +
$lt{'prus'}
$lt{'pasw'}
$lt{'prdo'}
$lt{'prus'}
$lt{'pasw'}
$lt{'prdo'}