--- loncom/publisher/lonpubdir.pm 2014/06/23 03:22:39 1.156 +++ loncom/publisher/lonpubdir.pm 2014/06/23 17:02:49 1.157 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Authoring Space Directory Lister # -# $Id: lonpubdir.pm,v 1.156 2014/06/23 03:22:39 raeburn Exp $ +# $Id: lonpubdir.pm,v 1.157 2014/06/23 17:02:49 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -88,6 +88,26 @@ sub handler { my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); &startpage($r, $uname, $udom, $thisdisfn); # Put out the start of page. + + if (!-d $fn) { + if (-e $fn) { + $r->print('

'.&mt('Requested item is a file not a directory.').'

'); + } else { + $r->print('

'.&mt('The requested subdirectory does not exist.').'

'); + } + $r->print(&Apache::loncommon::end_page()); + return OK; + } + my @files; + if (opendir(DIR,$fn)) { + @files = readdir(DIR); + closedir(DIR); + } else { + $r->print('

'.&mt('Could not open directory.').'

'); + $r->print(&Apache::loncommon::end_page()); + return OK; + } + &dircontrols($r,$uname,$udom,$thisdisfn); # Put out actions for directory, # browse/upload + new file page. &resourceactions($r,$uname,$udom,$thisdisfn); # Put out form used for printing/deletion etc. @@ -106,12 +126,12 @@ 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.').'

'); + if ((@files == 0) && ($thisdisfn =~ m{^/$match_domain/$match_username/priv})) { + if ($thisdisfn =~ m{^/$match_domain/$match_username/priv$}) { + $r->print('

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

'); + } else { + $r->print('

'.&mt('This subdirectory is currently empty.').'

'); + } $r->print(&Apache::loncommon::end_page()); return OK; }