--- loncom/interface/lonindexer.pm 2011/10/14 16:58:32 1.210 +++ loncom/interface/lonindexer.pm 2011/10/17 12:41:30 1.211 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Directory Indexer # -# $Id: lonindexer.pm,v 1.210 2011/10/14 16:58:32 dseaton Exp $ +# $Id: lonindexer.pm,v 1.211 2011/10/17 12:41:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -755,6 +755,7 @@ sub scanDir { sub get_list { my ($r,$uri)=@_; my @list=(); + my $listerror; (my $luri = $uri) =~ s/\//_/g; if ($env{'form.updatedisplay'}) { @@ -779,15 +780,17 @@ sub get_list { $hash{'dirlist_files_'.$luri} = join("\n",@list); } else { # is really a directory - @list = &Apache::lonnet::dirlist($uri); + (my $listref,$listerror) = &Apache::lonnet::dirlist($uri); + if (ref($listref) eq 'ARRAY') { + @list = @{$listref}; + } $hash{'dirlist_files_'.$luri} = join("\n",@list); $hash{'dirlist_timestamp_files_'.$luri} = time; } #Checking for error messages associated with empty directories or inaccessible servers (See Bug 4984) - if($list[0] eq 'no_such_dir' || $list[0] eq 'no_such_host') { + if (($listerror eq 'no_such_dir') || ($listerror eq 'no_such_host')) { $r->print("

" . &mt("Directory does not exist."). "

"); - } - elsif($list[0] eq 'con_lost') { + } elsif ($listerror eq 'con_lost') { $r->print("

" . &mt("Directory temporarily not accessible."). "

"); }