--- loncom/homework/inputtags.pm 2021/12/12 21:21:44 1.333.2.12 +++ loncom/homework/inputtags.pm 2024/08/19 23:01:42 1.333.2.12.2.5 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.333.2.12 2021/12/12 21:21:44 raeburn Exp $ +# $Id: inputtags.pm,v 1.333.2.12.2.5 2024/08/19 23:01:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -450,6 +450,7 @@ sub start_textline { if ($addchars) { $result.=&addchars('HWVAL_'.$id,$addchars); } + my $numrespclass; my $readonly=&Apache::lonxml::get_param('readonly',$parstack, $safeeval); if (lc($readonly) eq 'yes' @@ -457,6 +458,10 @@ sub start_textline { $readonly=' readonly="readonly" '; } else { $readonly=''; + if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') && + ($tagstack->[-2] eq 'numericalresponse')) { + $numrespclass = ' LC_numresponse_text'; + } } my $name = 'HWVAL_'.$id; my $itemid = 'HWVAL_'.$partid.'_'.$id; @@ -469,12 +474,14 @@ sub start_textline { . ' type="text" '.$readonly.' name="'. $name . '"' . ' id="' . $input_tag_id . '"' . ' value="'. $oldresponse.'"' - . ' class="LC_textline spellchecked" size="'.$size.'"'.$maxlength.' />'; + . ' class="LC_textline spellchecked'.$numrespclass.'" size="'.$size.'"'.$maxlength.' />'; $result .= &spellcheck_onblur($itemid, $spellcheck); if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') && - (($tagstack->[-2] eq 'formularesponse') || ($tagstack->[-2] eq 'mathresponse')) && - (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { + (((($tagstack->[-2] eq 'formularesponse') || ($tagstack->[-2] eq 'mathresponse')) && + (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) || + (($tagstack->[-2] eq 'customresponse') && + (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') eq 'no')))) { $result.=&edit_mathresponse_button($input_tag_id); } } @@ -656,8 +663,13 @@ sub file_selector { $result .= &Apache::lonhtmlcommon::row_title($addfiles); my $constraints; if ($uploadedfiletypes ne '*') { - $constraints = - &mt('Allowed filetypes: [_1]',''.$uploadedfiletypes.'').'
'; + my $showtypes = $uploadedfiletypes; + if ($showtypes =~ /,/) { + my $conjunc = &mt('or'); + $showtypes =~ s/,([^,]+)$/ $conjunc $1/; + } + $constraints = + &mt('Allowed filetypes: [_1]',''.$showtypes.'').'
'; } if ($maxfilesize) { $constraints .= &mt('Combined size of all files not to exceed: [_1] MB.', @@ -1349,7 +1361,8 @@ sub decideoutput { my $first_access=&Apache::lonnet::get_first_access($interval[1]); if (defined($first_access)) { my $due_date= &Apache::lonnet::EXT("resource.$part.duedate"); - unless (($due_date) && ($due_date < $first_access + $interval[0])) { + my ($timelimit) = ($interval[0] =~ /^(\d+)/); + unless (($due_date) && ($due_date < $first_access + $timelimit)) { $message = &mt("Answer Submitted: Your final submission will be graded when the time limit is reached."); } } @@ -1751,12 +1764,17 @@ sub gradestatus { } if ( $showbutton ) { if ($target ne 'tex') { - $button = + if ($env{'form.disable_submit'}) { + $button = ' '. + ''; + } else { + $button = ' '. ''; + } } }