--- loncom/publisher/lonpubdir.pm 2014/05/20 19:53:59 1.153 +++ loncom/publisher/lonpubdir.pm 2014/05/31 13:55:17 1.154 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Authoring Space Directory Lister # -# $Id: lonpubdir.pm,v 1.153 2014/05/20 19:53:59 raeburn Exp $ +# $Id: lonpubdir.pm,v 1.154 2014/05/31 13:55:17 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -40,7 +40,7 @@ use Apache::lonlocal; use Apache::lonmsg; use Apache::lonmenu; use Apache::lonnet; -use LONCAPA; +use LONCAPA qw(:DEFAULT :match); sub handler { @@ -87,6 +87,16 @@ sub handler { my $sortby = $env{'form.sortby'}; my $sortorder = $env{'form.sortorder'}; + opendir(DIR,$fn); + my @files = readdir(DIR); + closedir(DIR); + + if ((@files == 0) && ($thisdisfn =~ m{^/$match_domain/$match_username})) { + $r->print('

'.&mt('This Authoring Space is currently empty.').'

'); + $r->print(&Apache::loncommon::end_page()); + return OK; + } + # Start off the directory table. $r->print(&Apache::loncommon::start_data_table() .&Apache::loncommon::start_data_table_header_row() @@ -119,10 +129,7 @@ sub handler { ); my $dirptr=16384; # Mask indicating a directory in stat.cmode. - - opendir(DIR,$fn); my $filehash = {}; - my @files= readdir(DIR); foreach my $filename (@files) { # Skip .DS_Store and hidden files my ($extension) = ($filename=~/\.(\w+)$/); @@ -221,12 +228,10 @@ sub handler { } } - closedir(DIR); - $r->print( &Apache::loncommon::end_data_table() .&Apache::loncommon::end_page() ); - return OK; + return OK; } @@ -627,7 +632,7 @@ sub putdirectory { ''. "\n"); } - return OK; + return; } sub getTitle { @@ -776,7 +781,7 @@ sub putresource { ''.sprintf("%.1f",$size).''. &Apache::loncommon::end_data_table_row() ); - return OK; + return; } sub create_pubselect { @@ -829,6 +834,7 @@ sub check_for_versions { $versions ++; } } + closedir(DIR); return $versions; }