$closebutton $groupimportbutton
@@ -751,6 +757,8 @@ sub scanDir {
sub get_list {
my ($r,$uri)=@_;
my @list=();
+ my $listerror;
+
(my $luri = $uri) =~ s/\//_/g;
if ($env{'form.updatedisplay'}) {
foreach (keys %hash) {
@@ -774,10 +782,20 @@ 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 (($listerror eq 'no_such_dir') || ($listerror eq 'no_such_host') || ($listerror eq 'no_host')) {
+ $r->print("" . &mt("Directory does not exist."). "
");
+ } elsif ($listerror eq 'con_lost') {
+ $r->print("" . &mt("Directory temporarily not accessible."). "
");
+ }
+
return @list=&match_ext($r,@list);
}
@@ -986,7 +1004,7 @@ $r->print ('print(''.$tabtag);
+ $r->print('');
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
@@ -1068,14 +1086,10 @@ $r->print ('\n");
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
- $r->print (" $listname ");
+ $r->print (" $listname ");
$quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta');
&Apache::loncommon::inhibit_menu_check(\$quotable_filelink);
- $r->print (" (".&mt('metadata').") ");
+ $r->print (" (".&mt('metadata').") ");
# Close form to open/close sequence
if ($filelink=~/\.(page|sequence)$/) {
$r->print('');
@@ -1223,12 +1237,13 @@ $r->print ('print (''
- .'
'.
- "\n");
- $r->print ("$listname\n");
+ $r->print (''
+ .'
'
+ ."\n");
+ $r->print ("$listname");
+ $r->print('');
# Attributes
my $filelink = $startdir.$filecom[0].'/default';