$closebutton $groupimportbutton
@@ -541,11 +548,21 @@ END
$storeuri='/'.(split(/\.(page|sequence)\/\//,$uri))[-1];
$storeuri=~s/\/+/\//g;
# ---------------------------------------------------------------- Bread crumbs
- $r->print(&Apache::lonhtmlcommon::crumbs($storeuri,'','',
- (($env{'form.catalogmode'} eq 'import')?
- 'document.forms.fileattr':'')).
- &Apache::lonhtmlcommon::select_recent('residx','resrecent',
-'window.status=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.action=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.submit();'));
+ $r->print(
+ ''
+ .&Apache::lonhtmlcommon::crumbs(
+ $storeuri,
+ '',
+ '',
+ (($env{'form.catalogmode'} eq 'import')?
+ 'document.forms.fileattr':''))
+ .'
'
+ .&Apache::lonhtmlcommon::select_recent(
+ 'residx',
+ 'resrecent',
+ 'window.status=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.action=this.form.resrecent.options[this.form.resrecent.selectedIndex].value;this.form.submit();')
+ .'
'
+ );
# -------------------------------------------------------- Resource Home Button
my $reshome=$env{'course.'.$env{'request.course.id'}.'.reshome'};
if ($reshome) {
@@ -563,17 +580,17 @@ END
&Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);
# -------------------------------------------------- Check All and Uncheck all
if ($env{'form.catalogmode'} eq 'import') {
- $r->print('
');
- $r->print('');
+ $r->print('');
+ $r->print('
');
}
# ----------------- output starting row to the indexed file/directory hierarchy
#$r->print(&initdebug());
#$r->print(&writedebug("Omit:@Omit")) if (@Omit);
#$r->print(&writedebug("Only:@Only")) if (@Only);
- $r->print('
');
$r->print(&Apache::loncommon::start_data_table("LC_tableBrowseRes")
.&Apache::loncommon::start_data_table_header_row());
$r->print("".&mt('Name')." | \n");
+ $r->print(" | \n");
$r->print("".&mt('Title')." | \n")
if ($hash{'display_attrs_0'} == 1);
$r->print(''.&mt("Size")." (".&mt("bytes").") ".
@@ -740,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) {
@@ -763,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);
}
@@ -908,13 +937,12 @@ sub display_line {
$r->print (' print (' alt="'.$msg.'" class="LC_fileicon" />'.
"\n");
- $r->print(&mt("Up")."$tabtag");
+ $r->print(&mt("Up")." | $tabtag");
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
# Do we have permission to look at this?
-
- if($filecom[15] ne '1') { return OK if (!&Apache::lonnet::allowed('bre',$pathprefix.$filecom[0])); }
+ if($filecom[15] ne '1') { return OK if ((!&Apache::lonnet::allowed('bre',$pathprefix.$filecom[0])) && (!&Apache::lonnet::allowed('bro',$pathprefix.$filecom[0]))); }
# make absolute links appear on different background
#SB if ($absolute) { $fileclr='#ccdd99'; }
@@ -944,7 +972,7 @@ $r->print ('(".&Apache::lonnet::domain($listname,'description').
")");
}
- $r->print("$tabtag");
+ $r->print(" | $tabtag");
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
@@ -976,7 +1004,12 @@ $r->print ('print(''.$tabtag);
+# Wishlistlink
+ $r->print(' | '.
+ ' '.$tabtag);
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
@@ -1058,19 +1091,21 @@ $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('');
}
$r->print(" | \n");
+# Wishlistlink
+ $r->print(''.
+ ' | ');
if ($hash{'display_attrs_0'} == 1) {
$r->print(' '.($title eq '' ? ' ' : $title).
' | '."\n");
@@ -1147,7 +1182,7 @@ $r->print (''.($output eq '' ? ' ':$output).
+ $r->print(''.($output eq '' ? ' ':$output).
" | \n");
}
@@ -1213,12 +1248,18 @@ $r->print ('print (''
- .'
'.
- "\n");
- $r->print ("$listname\n");
+ $r->print (''
+ .'
'
+ ."\n");
+ $r->print ("$listname");
+# Wishlistlink
+ $r->print(''.
+ ' | ');
# Attributes
my $filelink = $startdir.$filecom[0].'/default';
@@ -1307,15 +1348,18 @@ sub coursecontext {
my $filesymb=&Apache::lonnet::symbread($filelink);
if ($filesymb) {
my ($map,$index,$resource)=&Apache::lonnet::decode_symb($filesymb);
- $r->print(&mt('Already in this course:
[_1] in folder/map [_2].
',
- &Apache::lonnet::gettitle($resource),
- &Apache::lonnet::gettitle($map)));
+ $r->print(
+ &mt('Already in this course:').'
'
+ .&mt('[_1] in folder/map [_2]',
+ &Apache::lonnet::gettitle($resource),
+ &Apache::lonnet::gettitle($map))
+ .'
');
}
}
sub showpreview {
my ($filelink)=@_;
- if ($filelink=~m-^(/ext/|http://)-) {
+ if ($filelink=~m-^(/ext/|https?://)-) {
return &mt('External Resource, preview not enabled');
}
my ($curfext)=($filelink=~/\.(\w+)$/);
@@ -1446,18 +1490,6 @@ This module enables a scheme of browsing
This is part of the LearningOnline Network with CAPA project
described at http://www.lon-capa.org.
-=head1 BEGIN SUBROUTINE
-
-This routine is only run once after compilation.
-
-=over 4
-
-=item *
-
-Initializes %language hash table.
-
-=back
-
=head1 HANDLER SUBROUTINE
This routine is called by Apache and mod_perl.