--- loncom/homework/structuretags.pm 2010/08/16 18:09:28 1.465.2.3 +++ loncom/homework/structuretags.pm 2010/03/26 00:49:36 1.468 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.465.2.3 2010/08/16 18:09:28 raeburn Exp $ +# $Id: structuretags.pm,v 1.468 2010/03/26 00:49:36 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -66,7 +66,7 @@ use lib '/home/httpd/lib/perl/'; use LONCAPA; BEGIN { - &Apache::lonxml::register('Apache::structuretags',('block','languageblock','translated','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startpartmarker','startouttext','endpartmarker','endouttext','simpleeditbutton','definetag')); + &Apache::lonxml::register('Apache::structuretags',('block','languageblock','translated','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag')); } sub start_web { @@ -209,9 +209,6 @@ sub page_start { } elsif (!defined($found{'body'}) && $env{'request.state'} eq 'construct') { if ($target eq 'web' || $target eq 'edit') { - if ($env{'environment.remote'} ne 'off') { - $body_args{'only_body'} = 1; - } # Breadcrumbs for Construction Space &Apache::lonhtmlcommon::clear_breadcrumbs(); &Apache::lonhtmlcommon::add_breadcrumb({ @@ -245,8 +242,7 @@ sub page_start { # $body_args{'no_title'} = 1; $body_args{'force_register'} = 1; $body_args{'add_entries'} = \%add_entries; - if ($env{'environment.remote'} eq 'off' - && $env{'request.state'} eq 'construct') { + if ( $env{'request.state'} eq 'construct') { $body_args{'only_body'} = 1; } } @@ -633,7 +629,9 @@ sub finalize_storage { $result=&Apache::lonnet::cstore(\%Apache::lonhomework::results, $symb,$courseid,$domain,$name); &Apache::lonxml::debug('Store return message:'.$result); - &store_aggregates($symb,$courseid); + if ($env{'request.role'} =~/^st/) { + &store_aggregates($symb,$courseid); + } } } else { &Apache::lonxml::debug('Nothing to store'); @@ -653,7 +651,7 @@ item store_aggregates() sub store_aggregates { my ($symb,$courseid) = @_; - my (%aggregate,%anoncounter); + my %aggregate; my @parts; my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; @@ -663,51 +661,28 @@ sub store_aggregates { } } foreach my $part (@parts) { - if ($env{'request.role'} =~/^st/) { - if ($Apache::lonhomework::results{'resource.'.$part.'.award'} - eq 'APPROX_ANS' || - $Apache::lonhomework::results{'resource.'.$part.'.award'} - eq 'EXACT_ANS') { - $aggregate{$symb."\0".$part."\0correct"} = 1; - } - if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) { - $aggregate{$symb."\0".$part."\0users"} = 1; - } else { - my (undef,$last_reset) = &Apache::grades::get_last_resets($symb,$env{'request.course.id'},[$part]); - if ($last_reset) { - if (&Apache::grades::get_num_tries(\%Apache::lonhomework::history,$last_reset,$part) == 0) { - $aggregate{$symb."\0".$part."\0users"} = 1; - } - } - } - $aggregate{$symb."\0".$part."\0attempts"} = 1; + if ($Apache::lonhomework::results{'resource.'.$part.'.award'} + eq 'APPROX_ANS' || + $Apache::lonhomework::results{'resource.'.$part.'.award'} + eq 'EXACT_ANS') { + $aggregate{$symb."\0".$part."\0correct"} = 1; } - if (($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurvey') || - ($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurveycred')) { - $anoncounter{$symb."\0".$part} = 1; - my $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$Apache::lonhomework::results{'resource.'.$part.'.type'}}; - if ($needsrelease) { - my $curr_required = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'}; - if ($curr_required eq '') { - &Apache::lonnet::update_released_required($needsrelease); - } else { - my ($currmajor,$currminor) = split(/\./,$curr_required); - my ($needsmajor,$needsminor) = split(/\./,$needsrelease); - if (($currmajor < $needsmajor) || ($currmajor == $needsmajor && $currminor < $needsminor)) { - &Apache::lonnet::update_released_required($needsrelease); - } + if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) { + $aggregate{$symb."\0".$part."\0users"} = 1; + } else { + my (undef,$last_reset) = &Apache::grades::get_last_resets($symb,$env{'request.course.id'},[$part]); + if ($last_reset) { + if (&Apache::grades::get_num_tries(\%Apache::lonhomework::history,$last_reset,$part) == 0) { + $aggregate{$symb."\0".$part."\0users"} = 1; } } } + $aggregate{$symb."\0".$part."\0attempts"} = 1; } if (keys (%aggregate) > 0) { &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, $cdomain,$cname); } - if (keys(%anoncounter) > 0) { - &Apache::lonnet::cinc('nohist_anonsurveys',\%anoncounter, - $cdomain,$cname); - } } sub checkout_msg { @@ -918,17 +893,6 @@ sub start_problem { if ($target eq 'analyze') { my $rndseed=&setup_rndseed($safeeval); } if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { - #handle exam checkout - if ($Apache::lonhomework::type eq 'exam') { - my $token= - $Apache::lonhomework::history{"resource.0.outtoken"}; - if (($env{'form.doescheckout'}) && (!$token)) { - $token=&Apache::lonxml::maketoken(); - $Apache::lonhomework::history{"resource.0.outtoken"}= - $token; - } - $result.=&Apache::lonxml::printtokenheader($target,$token); - } if ($env{'form.markaccess'}) { my @interval=&Apache::lonnet::EXT("resource.0.interval"); &Apache::lonnet::set_first_access($interval[1]); @@ -1720,44 +1684,6 @@ sub ordered_show_check { return $in_order_show; } -sub start_startpartmarker { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; - my $result=''; - if ($target eq 'edit') { - $result=&Apache::edit::tag_start($target,$token); - $result.=&mt('Marker for the start of a part. Place end marker below to wrap in-between tags into a new part.').''; - $result.=&Apache::edit::end_table(); - - } - return $result; -} - -sub end_startpartmarker { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; - my @result; - if ($target eq 'edit') { $result[1]='no'; } - return @result; -} - -sub start_endpartmarker { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; - my $result=''; - if ($target eq 'edit') { - $result=&Apache::edit::tag_start($target,$token); - $result.=&mt('Marker for the end of a part. Place start marker above to wrap in-between tags into a new part.').''; - $result.=&Apache::edit::end_table(); - - } - return $result; -} - -sub end_endpartmarker { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; - my @result; - if ($target eq 'edit') { $result[1]='no'; } - return @result; -} - sub start_part { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; if (!$Apache::lonxml::metamode) {