--- loncom/homework/structuretags.pm 2017/09/15 15:10:11 1.512.2.14 +++ loncom/homework/structuretags.pm 2014/02/28 19:19:46 1.517 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.512.2.14 2017/09/15 15:10:11 raeburn Exp $ +# $Id: structuretags.pm,v 1.517 2014/02/28 19:19:46 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -224,55 +224,9 @@ sub end_tex { } sub homework_js { - my ($postsubmit,$timeout); - if (($env{'request.course.id'}) && ($env{'request.state'} ne 'construct')) { - my $crstype; - if (&Apache::loncommon::course_type() eq 'Community') { - $crstype = 'community'; - } else { - if ($env{'course.'.$env{'request.course.id'}.'.internal.coursecode'}) { - $crstype = 'official'; - } elsif ($env{'course.'.$env{'request.course.id'}.'.internal.textbook'}) { - $crstype = 'textbook'; - } else { - $crstype = 'unofficial'; - } - } - $postsubmit = $env{'course.'.$env{'request.course.id'}.'.internal.postsubmit'}; - if ($postsubmit eq '') { - my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'}); - $postsubmit = $domdefs{'postsubmit'}; - unless ($postsubmit eq 'off') { - $timeout = $domdefs{$crstype.'postsubtimeout'}; - } - } elsif ($postsubmit eq '0') { - $postsubmit = 'off'; - } elsif ($postsubmit eq '1') { - $postsubmit = 'on'; - $timeout = $env{'course.'.$env{'request.course.id'}.'.internal.postsubtimeout'}; - if ($timeout eq '') { - my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'}); - $timeout = $domdefs{$crstype.'postsubtimeout'}; - } - } - if ($timeout eq '') { - $timeout = 60; - } - } else { - my %domdefs = &Apache::lonnet::get_domain_defaults($env{'request.role.domain'}); - $postsubmit = $domdefs{'postsubmit'}; - unless ($postsubmit eq 'off') { - $timeout = 60; - } - } - my $jstimeout = 0; - if ($timeout) { - $jstimeout = 1000 * $timeout; - } return &Apache::loncommon::resize_textarea_js(). - &Apache::loncommon::colorfuleditor_js(). &setmode_javascript(). - <<"JS"; + <<'JS'; JS @@ -390,10 +264,8 @@ sub setmode_javascript { @@ -419,17 +291,13 @@ sub page_start { $extra_head .= &homework_js(). &Apache::lonhtmlcommon::dragmath_js("EditMathPopup"); if (&Apache::lonhtmlcommon::htmlareabrowser()) { - my %textarea_args; - if (($env{'request.state'} ne 'construct') || - ($env{'environment.nocodemirror'})) { - %textarea_args = ( + my %textarea_args = ( dragmath => 'math', ); - } $extra_head .= &Apache::lonhtmlcommon::htmlareaselectactive(\%textarea_args); } my $is_task = ($env{'request.uri'} =~ /\.task$/); - my ($needs_upload,$partlist); + my $needs_upload; my ($symb)= &Apache::lonnet::whichuser(); my ($map,$resid,$resurl)=&Apache::lonnet::decode_symb($symb); if ($is_task) { @@ -447,12 +315,6 @@ sub page_start { unless ($is_page) { $needs_upload = 1; } - if ((ref($tagstack) eq 'ARRAY') && ($tagstack->[-1] eq 'problem')) { - my $res = $navmap->getBySymb($symb); - if (ref($res)) { - $partlist = $res->parts(); - } - } } } } else { @@ -464,17 +326,10 @@ sub page_start { if (ref($mapres)) { $is_page = $mapres->is_page(); } - if ($is_page) { - if ((ref($tagstack) eq 'ARRAY') && ($tagstack->[-1] eq 'problem')) { - my $res = $navmap->getBySymb($symb); - if (ref($res)) { - $partlist = $res->parts(); - } - } - } else { + unless ($is_page) { my $res = $navmap->getBySymb($symb); if (ref($res)) { - $partlist = $res->parts(); + my $partlist = $res->parts(); if (ref($partlist) eq 'ARRAY') { foreach my $part (@{$partlist}) { my @types = $res->responseType($part); @@ -515,9 +370,6 @@ sub page_start { "if (typeof swmenu != 'undefined') {swmenu.currentURL=null;}\n". &Apache::loncommon::browser_and_searcher_javascript(). "\n\n"; - if ($target eq 'edit') { - $extra_head .= &Apache::edit::js_update_linknum(); - } } } @@ -562,8 +414,6 @@ sub page_start { $body_args{'add_entries'} = \%add_entries; if ( $env{'request.state'} eq 'construct') { $body_args{'only_body'} = 1; - } elsif ($target eq 'web') { - $body_args{'print_suppress'} = 1; } } $body_args{'no_auto_mt_title'} = 1; @@ -610,7 +460,7 @@ sub page_start { "\t".''."\n"; } } - return ($page_start,$form_tag_start,$partlist); + return ($page_start,$form_tag_start); } #use Time::HiRes(); @@ -641,7 +491,7 @@ sub get_resource_name { } sub setup_rndseed { - my ($safeeval,$target,$probpartlist)=@_; + my ($safeeval,$target)=@_; my ($symb)=&Apache::lonnet::whichuser(); my ($questiontype,$set_safespace,$rndseed); if ($target eq 'analyze') { @@ -650,11 +500,10 @@ sub setup_rndseed { unless (defined($questiontype)) { $questiontype = $Apache::lonhomework::type; } - if (($env{'request.state'} eq "construct") - || ($symb eq '') - || ($Apache::lonhomework::type eq 'practice') - || ($Apache::lonhomework::history{'resource.CODE'}) - || (($env{'form.code_for_randomlist'}) && ($target eq 'analyze'))) { + if ($env{'request.state'} eq "construct" + || $symb eq '' + || $Apache::lonhomework::type eq 'practice' + || $Apache::lonhomework::history{'resource.CODE'}) { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['rndseed']); $rndseed=$env{'form.rndseed'}; @@ -663,9 +512,7 @@ sub setup_rndseed { if (!$rndseed) { $rndseed=time; } - unless ($env{'form.code_for_randomlist'}) { - $env{'form.rndseed'}=$rndseed; - } + $env{'form.rndseed'}=$rndseed; } if (($env{'request.state'} eq "construct") && ($Apache::lonhomework::type eq 'randomizetry')) { @@ -693,11 +540,7 @@ sub setup_rndseed { $rndseed=join(':',&Apache::lonnet::digest($rndseed)); } } - if (($env{'form.code_for_randomlist'}) && ($target eq 'analyze')) { - $env{'form.CODE'} = $env{'form.code_for_randomlist'}; - $rndseed=&Apache::lonnet::rndseed(); - undef($env{'form.CODE'}); - } elsif ($Apache::lonhomework::history{'resource.CODE'}) { + if ($Apache::lonhomework::history{'resource.CODE'}) { $rndseed=&Apache::lonnet::rndseed(); } $set_safespace = 1; @@ -709,13 +552,7 @@ sub setup_rndseed { } unless (($target eq 'analyze') && (defined($rndseed))) { $rndseed=&Apache::lonnet::rndseed(); - my $partfortries = $Apache::inputtags::part; - if (ref($probpartlist) eq 'ARRAY') { - if ((@{$probpartlist} == 1) && ($probpartlist->[0] ne $Apache::inputtags::part)) { - $partfortries = $probpartlist->[0]; - } - } - my $curr_try = $Apache::lonhomework::history{"resource.$partfortries.tries"}; + my $curr_try = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.tries"}; if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') { $curr_try ++; } @@ -723,7 +560,7 @@ sub setup_rndseed { $rndseed = $1; } if ($curr_try) { - my $reqtries = &Apache::lonnet::EXT("resource.$partfortries.randomizeontries"); + my $reqtries = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.randomizeontries"); if (($reqtries =~ /^\d+$/) && ($reqtries > 1)) { my $inc = int(($curr_try-1)/$reqtries); $rndseed += $inc; @@ -733,9 +570,6 @@ sub setup_rndseed { } } $set_safespace = 1; - if ($target eq 'grade') { - $Apache::lonhomework::rawrndseed = $rndseed; - } } if ($set_safespace) { if ($safeeval) { @@ -765,82 +599,53 @@ sub problem_edit_action_button { sub problem_edit_buttons { my ($mode)=@_; -# Buttons that save - my $result = '