--- loncom/homework/essayresponse.pm 2008/12/22 14:55:28 1.96 +++ loncom/homework/essayresponse.pm 2009/01/01 16:45:32 1.97 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # essay (ungraded) style responses # -# $Id: essayresponse.pm,v 1.96 2008/12/22 14:55:28 raeburn Exp $ +# $Id: essayresponse.pm,v 1.97 2009/01/01 16:45:32 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -294,11 +294,14 @@ sub file_submission { } } else { my ($symb,$crsid,$udom,$uname) = &Apache::lonnet::whichuser(); - my ($path,$filename) = ($file =~ m{^(.+)/([^/]+)$}); + my ($path,$filename) = ($file =~ m{^(.*/)([^/]+)$}); my $fullpath = '/userfiles/portfolio'.$path; if (!exists($dirlist{$fullpath})) { my @list = &Apache::lonnet::dirlist($fullpath,$udom,$uname,1); - foreach my $dir_line (@list) { + $dirlist{$fullpath} = \@list; + } + if (ref($dirlist{$fullpath}) eq 'ARRAY') { + foreach my $dir_line (@{$dirlist{$fullpath}}) { my ($fname,$dom,undef,$testdir,undef,undef,undef,undef, $size,undef,$mtime,undef,undef,undef,$obs,undef) = split(/\&/,$dir_line,16); @@ -310,7 +313,6 @@ sub file_submission { last; } } - $dirlist{$fullpath} = \@list; } } if (ref($totalsize)) { @@ -319,6 +321,7 @@ sub file_submission { if ($which eq 'filename') { &delete_form_items($jspart,$id); } + last; } else { push(@accepted_files,$file); }