--- 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 = ' '.
+ '