--- loncom/homework/essayresponse.pm	2005/04/07 06:56:21	1.62
+++ loncom/homework/essayresponse.pm	2005/05/03 19:22:58	1.66
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # essay (ungraded) style responses
 #
-# $Id: essayresponse.pm,v 1.62 2005/04/07 06:56:21 albertel Exp $
+# $Id: essayresponse.pm,v 1.66 2005/05/03 19:22:58 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -50,16 +50,21 @@ sub start_essayresponse {
         $uploadedfiletypes=~s/[^\w\,]//g;
 	$result='<br /><table border="1">';
 	$result.='<tr><td>'.
+            '<label>'.
 	    '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked="checked" /> '.
-	    &mt('Submit entries below as answer to receive credit').' <br />'.
-	    '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no" /> '.
+	    &mt('Submit entries below as answer to receive credit').
+            '</label> <br />'.
+	    '<label>'.
+            '<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no" /> '.
 	    &mt('Save entries below as a draft answer (not submitting them for credit yet)').
-	    ' </td></tr>';
+	    '</label>'.
+            ' </td></tr>';
 	if ($ncol > 0) {
-	    $result .='<tr><td>'.
+	    $result .='<tr><td>'.'<label>'.
 		'Collaborators: <input type="text" size="70" max="80" name="HWCOL'.
 		$part.'_'.$id.'" value="'.$coll.'" /><br />'.
-		&mt('(Enter maximum [_1] collaborators using username or username@domain, e.g. smithje or smithje@[_2].)',$ncol,$env{'user.domain'}).'<br />';
+		&mt('(Enter maximum [_1] collaborators using username or username@domain, e.g. smithje or smithje@[_2].)',$ncol,$env{'user.domain'}).
+                '</label><br />';
 	    $result .= &check_collaborators($ncol,$coll) if ($coll =~ /\w+/);
 	    $result .='</td></tr>';
 	}
@@ -95,8 +100,8 @@ sub end_essayresponse {
 		    $award='SUBMITTED';
 		}
                 my $uploadedflag=0;
-		&file_submission($part,$id,'filename',$award,\$uploadedflag);
-		&file_submission($part,$id,'portfiles',$award,\$uploadedflag);
+		&file_submission($part,$id,'filename',\$award,\$uploadedflag);
+		&file_submission($part,$id,'portfiles',\$award,\$uploadedflag);
 		$Apache::lonhomework::results{"resource.$part.$id.submission"}=$response;
 		$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$award;
 		my %previous=&Apache::response::check_for_previous($response,$part,$id);
@@ -159,24 +164,26 @@ sub file_submission {
 	$Apache::lonhomework::results{"resource.$part.$id.$which"}=$files;
 	my @submitted_files = split(/,/,$files);
 	my $uploadedfiletypes= &Apache::lonnet::EXT("resource.$part".'_'."$id.uploadedfiletypes");
-	$uploadedfiletypes=~s/[^\w\,]//g;
-	$uploadedfiletypes=','.$uploadedfiletypes.',';
-	foreach my $file (@submitted_files) {
-	    my ($extension)=($file=~/\.(\w+)$/);
-	    unless ($uploadedfiletypes=~/\,$extension\,/i) {
-		$award='INVALID_FILETYPE';
+	if ($uploadedfiletypes) {
+	    $uploadedfiletypes=~s/[^\w\,]//g;
+	    $uploadedfiletypes=','.$uploadedfiletypes.',';
+	    foreach my $file (@submitted_files) {
+		my ($extension)=($file=~/\.(\w+)$/);
+		unless ($uploadedfiletypes=~/\,$extension\,/i) {
+		    $$award='INVALID_FILETYPE';
+		}
 	    }
 	}
-	if ($award ne 'INVALID_FILETYPE' && ref($uploadedflag)) {
+	if ($$award ne 'INVALID_FILETYPE' && ref($uploadedflag)) {
 	    $$uploadedflag=1;
 	}
-	if ($award ne 'INVALID_FILETYPE' && $which eq 'portfiles') {
+	if ($$award ne 'INVALID_FILETYPE' && $which eq 'portfiles') {
 	    my ($symb,$crsid,$domain,$name)=&Apache::lonxml::whichuser();
-	    &Apache::lonnet::unmark_as_readonly($domain,$name,$symb.$crsid);
-	    &Apache::lonnet::mark_as_readonly($domain,$name,\@submitted_files,$symb.$crsid);
+	    &Apache::lonnet::unmark_as_readonly($domain,$name,[$symb,$crsid]);
+	    &Apache::lonnet::mark_as_readonly($domain,$name,\@submitted_files,[$symb,$crsid]);
 	    &Apache::lonnet::clear_selected_files($name);
 	}
-	if ($award ne 'INVALID_FILETYPE' && $which eq 'filename') {
+	if ($$award ne 'INVALID_FILETYPE' && $which eq 'filename') {
 	    $Apache::lonhomework::results{"resource.$part.$id.uploadedfile"}=
 		$files;
 	    $Apache::lonhomework::results{"resource.$part.$id.uploadedurl"}=
@@ -186,7 +193,7 @@ sub file_submission {
     } elsif ($which eq 'portfiles' &&
 	     $Apache::lonhomework::history{"resource.$part.$id.$which"}) {
 	my ($symb,$crsid,$domain,$name)=&Apache::lonxml::whichuser();
-	&Apache::lonnet::unmark_as_readonly($domain,$name,$symb.$crsid);
+	&Apache::lonnet::unmark_as_readonly($domain,$name,[$symb,$crsid]);
 	$Apache::lonhomework::results{"resource.$part.$id.$which"}="";
     }
 }