version 1.101.10.2, 2010/09/13 04:23:00
|
version 1.109, 2010/08/22 19:00:15
|
Line 58 sub start_essayresponse {
|
Line 58 sub start_essayresponse {
|
if (!defined($maxfilesize)) { |
if (!defined($maxfilesize)) { |
$maxfilesize = 10.0; #FIXME This should become a domain configuration |
$maxfilesize = 10.0; #FIXME This should become a domain configuration |
} |
} |
if ( $Apache::lonhomework::type eq 'survey' ) { |
if (($Apache::lonhomework::type eq 'survey') || |
$result.= '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" /> '; |
($Apache::lonhomework::type eq 'surveycred') || |
|
($Apache::lonhomework::type eq 'anonsurvey') || |
|
($Apache::lonhomework::type eq 'anonsurveycred')) { |
|
$result.= '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />'; |
} |
} |
my $status_text = &mt('Submission type'); |
my $status_text = &mt('Submission type'); |
if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') { |
if ($Apache::lonhomework::history{"resource.$part.award"} eq 'DRAFT') { |
$status_text .= '<br />'.&mt('(Currently -- draft)'); |
$status_text .= '<br />'.&mt('(Currently -- draft)'); |
} |
} |
$result.= '<p>'.&Apache::lonhtmlcommon::start_pick_box(); |
$result.= '<p>'.&Apache::lonhtmlcommon::start_pick_box(). |
if ( $Apache::lonhomework::type ne 'survey' ) { |
&Apache::lonhtmlcommon::row_title($status_text); |
if ($env{'request.uri'} eq '/res/gci/gci/internal/submission.problem') { |
if (($Apache::lonhomework::type ne 'survey') && |
|
($Apache::lonhomework::type ne 'surveycred') && |
$result .= '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />'; |
($Apache::lonhomework::type ne 'anonsurvey') && |
} else { |
($Apache::lonhomework::type ne 'anonsurveycred')) { |
$result .= &Apache::lonhtmlcommon::row_title($status_text); |
my $closure; |
my $closure; |
unless ($ncol || $uploadedfiletypes) { |
unless ($ncol || $uploadedfiletypes) { |
$closure = 1; |
$closure = 1; |
} |
} |
$result.= |
$result.= |
|
'<label>'. |
'<label>'. |
'<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked="checked" /> '. |
'<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="yes" checked="checked" /> '. |
&mt('Submit entries below as answer to receive credit'). |
&mt('Submit entries below as answer to receive credit'). |
Line 85 sub start_essayresponse {
|
Line 87 sub start_essayresponse {
|
'<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no" /> '. |
'<input type="radio" name="HWDRAFT'.$part.'_'.$id.'" value="no" /> '. |
&mt('Save entries below (not submitted for credit yet)'). |
&mt('Save entries below (not submitted for credit yet)'). |
'</label>'. |
'</label>'. |
&Apache::lonhtmlcommon::row_closure($closure); |
&Apache::lonhtmlcommon::row_closure($closure); |
} |
|
} |
} |
|
|
if ($ncol > 0) { |
if ($ncol > 0) { |
$result.= &Apache::lonhtmlcommon::row_title(&mt('Collaborators')). |
$result.= &Apache::lonhtmlcommon::row_title(&mt('Collaborators')). |
'<label>'. |
'<label>'. |
Line 99 sub start_essayresponse {
|
Line 101 sub start_essayresponse {
|
} |
} |
$result .= '</label><br />'; |
$result .= '</label><br />'; |
$result .= &check_collaborators($ncol,$coll) if ($coll =~ /\w+/); |
$result .= &check_collaborators($ncol,$coll) if ($coll =~ /\w+/); |
$result .= &Apache::lonhtmlcommon::row_closure(); |
$result .= &Apache::lonhtmlcommon::row_closure(); |
} |
} |
my $filesfrom = 'both'; |
my $filesfrom = 'both'; |
my $stuname = &Apache::lonnet::EXT('user.name'); |
my $stuname = &Apache::lonnet::EXT('user.name'); |
Line 141 sub end_essayresponse {
|
Line 143 sub end_essayresponse {
|
my $increment = &Apache::response::repetition(); |
my $increment = &Apache::response::repetition(); |
my $result; |
my $result; |
if ( $target eq 'grade' ) { |
if ( $target eq 'grade' ) { |
my $collaborators = $env{'form.HWCOL'.$part.'_'.$id}; |
# Deal with collaborators |
if ($collaborators =~ /[^\s]/) { |
my $collaborators = $env{'form.HWCOL'.$part.'_'.$id}; |
my $previous_list= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"},'<>&"'); |
my $previous_list= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"},'<>&"'); |
$Apache::lonhomework::results{"resource.$part.$id.collaborators"}=$collaborators |
if ($collaborators ne $previous_list) { |
if ($collaborators ne $previous_list); |
# &Apache::lonnet::logthis("New collaborators [$collaborators] [$previous_list]"); |
} |
$Apache::lonhomework::results{"resource.$part.$id.collaborators"}=$collaborators; |
|
} |
|
# Scantron |
if ( &Apache::response::submitted('scantron') ) { |
if ( &Apache::response::submitted('scantron') ) { |
$increment=&Apache::response::scored_response($part,$id); |
$increment=&Apache::response::scored_response($part,$id); |
} elsif ( &Apache::response::submitted() ) { |
} elsif ( &Apache::response::submitted() ) { |
my $response = $env{'form.HWVAL_'.$id}; |
my $response = $env{'form.HWVAL_'.$id}; |
my $jspart=$part; |
my $filename = $env{'form.HWFILE'.$part.'_'.$id.'.filename'} || |
$jspart=~s/\./_/g; |
|
my $filename = $env{'form.HWFILE'.$jspart.'_'.$id.'.filename'} || |
|
$env{'form.HWFILETOOBIG'.$part.'_'.$id}; |
$env{'form.HWFILETOOBIG'.$part.'_'.$id}; |
my $portfiles = $env{'form.HWPORT'.$jspart.'_'.$id}; |
my $portfiles = $env{'form.HWPORT'.$part.'_'.$id}; |
my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$jspart.'_'.$id.'_delete'); |
my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$part.'_'.$id.'_delete'); |
my ($is_submit,$was_draft); |
my ($is_submit,$was_draft); |
if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { |
if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { |
$is_submit = 1; |
$is_submit = 1; |
Line 166 sub end_essayresponse {
|
Line 168 sub end_essayresponse {
|
} |
} |
if (($response =~ /[^\s]/) || ($filename =~ /[^\s]/) || ($portfiles =~ /[^\s]/) || |
if (($response =~ /[^\s]/) || ($filename =~ /[^\s]/) || ($portfiles =~ /[^\s]/) || |
(@deletions > 0) || ($was_draft && $is_submit)) { |
(@deletions > 0) || ($was_draft && $is_submit)) { |
my $award='DRAFT'; |
my $award='DRAFT'; |
if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { |
if ($env{'form.HWDRAFT'.$part.'_'.$id} eq 'yes') { |
$award='SUBMITTED'; |
if ($Apache::lonhomework::type eq 'anonsurvey') { |
|
$award='ANONYMOUS'; |
|
} elsif ($Apache::lonhomework::type eq 'anonsurveycred') { |
|
$award='ANONYMOUS_CREDIT'; |
|
} elsif ($Apache::lonhomework::type eq 'surveycred') { |
|
$award='SUBMITTED_CREDIT'; |
|
} else { |
|
$award='SUBMITTED'; |
|
} |
} |
} |
my $uploadedflag=0; |
my $uploadedflag=0; |
my $totalsize=0; |
my $totalsize=0; |
Line 202 sub end_essayresponse {
|
Line 212 sub end_essayresponse {
|
{ $akey => $response },$adom,$aname); |
{ $akey => $response },$adom,$aname); |
} |
} |
} |
} |
} |
} |
} |
} |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::end_table(); |
$result.=&Apache::edit::end_table(); |
Line 295 sub file_submission {
|
Line 305 sub file_submission {
|
if (grep(/^\Q$file\E$/,@portfiles)) { |
if (grep(/^\Q$file\E$/,@portfiles)) { |
$port_delete{$file} = 1; |
$port_delete{$file} = 1; |
} elsif ($file =~ m{^/uploaded/\Q$udom\E/\Q$uname\E/essayresponse/\Q$cdom\E/\Q$cnum\E/}) { |
} elsif ($file =~ m{^/uploaded/\Q$udom\E/\Q$uname\E/essayresponse/\Q$cdom\E/\Q$cnum\E/}) { |
$uploaded_delete = $file; |
$uploaded_delete = $file; |
} elsif ($file =~ m{^/uploaded/\Q$udom\E/\Q$uname\E/essayresponse/[^/]+$}) { |
|
$uploaded_delete = $file; |
|
} |
} |
} |
} |
} |
} |
Line 308 sub file_submission {
|
Line 316 sub file_submission {
|
} |
} |
} |
} |
if ($uploaded_delete) { |
if ($uploaded_delete) { |
if ($uploaded_delete eq $uploadedurl) { |
$Apache::lonhomework::results{"resource.$part.$id.uploadedfile"} = ""; |
$Apache::lonhomework::results{"resource.$part.$id.uploadedfile"} = ""; |
$Apache::lonhomework::results{"resource.$part.$id.uploadedurl"} = ""; |
$Apache::lonhomework::results{"resource.$part.$id.uploadedurl"} = ""; |
|
} else { |
|
undef($uploaded_delete); |
|
} |
|
} |
} |
} |
} |
if ($env{'form.HWPORT'.$jspart.'_'.$id} ne '') { |
if ($env{'form.HWPORT'.$jspart.'_'.$id} ne '') { |
Line 327 sub file_submission {
|
Line 331 sub file_submission {
|
} |
} |
} |
} |
} |
} |
if ($env{'form.HWFILETOOBIG'.$part.'_'.$id} ne '') { |
if ($env{'form.HWFILETOOBIG'.$jspart.'_'.$id} ne '') { |
$$award = 'EXCESS_FILESIZE'; |
$$award = 'EXCESS_FILESIZE'; |
} elsif ($env{'form.HWFILE'.$jspart.'_'.$id.'.filename'} ne '') { |
} elsif ($env{'form.HWFILE'.$jspart.'_'.$id.'.filename'} ne '') { |
my $newfile = $env{'form.HWFILE'.$jspart.'_'.$id.'.filename'}; |
my $newfile = $env{'form.HWFILE'.$jspart.'_'.$id.'.filename'}; |
Line 387 sub file_submission {
|
Line 391 sub file_submission {
|
if (ref($dirlist{$fullpath}) eq 'ARRAY') { |
if (ref($dirlist{$fullpath}) eq 'ARRAY') { |
foreach my $dir_line (@{$dirlist{$fullpath}}) { |
foreach my $dir_line (@{$dirlist{$fullpath}}) { |
my ($fname,$dom,undef,$testdir,undef,undef,undef,undef, |
my ($fname,$dom,undef,$testdir,undef,undef,undef,undef, |
$size,undef,$mtime,undef,undef,undef,$obs,undef) = |
$size,undef,$mtime,undef,undef,undef,$obs,undef) = |
split(/\&/,$dir_line,16); |
split(/\&/,$dir_line,16); |
if ($filename eq $fname) { |
if ($filename eq $fname) { |
my $mbsize = $size/(1024.0*1024.0); |
my $mbsize = $size/(1024.0*1024.0); |
Line 479 sub file_submission {
|
Line 483 sub file_submission {
|
push(@pathitems,$restitle); |
push(@pathitems,$restitle); |
$path .= join('/',@pathitems); |
$path .= join('/',@pathitems); |
my $formelement = 'HWFILE'.$jspart.'_'.$id; |
my $formelement = 'HWFILE'.$jspart.'_'.$id; |
my $fname = &Apache::lonnet::clean_filename($env{'form.'.$formelement.'.filename'}); |
my $fname = $env{'form.'.$formelement.'.filename'}; |
|
&Apache::lonnet::clean_filename($fname); |
my $url = '/uploaded/'.$udom.'/'.$uname.'/'.$prefix.$path.'/'.$fname; |
my $url = '/uploaded/'.$udom.'/'.$uname.'/'.$prefix.$path.'/'.$fname; |
my @stat = &Apache::lonnet::stat_file($url); |
my @stat = &Apache::lonnet::stat_file($url); |
if (@stat && $stat[0] ne 'no_such_dir') { |
if (@stat && $stat[0] ne 'no_such_dir') { |
Line 493 sub file_submission {
|
Line 498 sub file_submission {
|
$Apache::lonhomework::results{"resource.$part.$id.portfiles"} = $stored_upload; |
$Apache::lonhomework::results{"resource.$part.$id.portfiles"} = $stored_upload; |
push(@tolock,$stored_upload); |
push(@tolock,$stored_upload); |
} else { |
} else { |
$$award = 'INTERNAL_ERROR'; |
$$award = 'INTERNAL_ERROR'; |
} |
} |
} |
} |
delete($env{'form.HWFILE'.$jspart.'_'.$id}); |
delete($env{'form.HWFILE'.$jspart.'_'.$id}); |
} |
} |
if (@accepted_portfiles) { |
if (@accepted_portfiles) { |
Line 510 sub file_submission {
|
Line 515 sub file_submission {
|
$Apache::lonhomework::results{"resource.$part.$id.portfiles"} = ""; |
$Apache::lonhomework::results{"resource.$part.$id.portfiles"} = ""; |
} |
} |
} |
} |
if (($Apache::lonhomework::history{"resource.$part.$id.portfiles"} ne |
if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"} ne $Apache::lonhomework::results{"resource.$part.$id.portfiles"}) { |
$Apache::lonhomework::results{"resource.$part.$id.portfiles"}) || |
|
($uploaded_delete)) { |
|
if (ref($uploadedflag)) { |
if (ref($uploadedflag)) { |
$$uploadedflag=1; |
$$uploadedflag=1; |
} |
} |