--- loncom/publisher/lonpubdir.pm 2004/01/06 02:15:12 1.57 +++ loncom/publisher/lonpubdir.pm 2010/03/10 21:26:04 1.126 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Construction Space Directory Lister # -# $Id: lonpubdir.pm,v 1.57 2004/01/06 02:15:12 www Exp $ +# $Id: lonpubdir.pm,v 1.126 2010/03/10 21:26:04 droeschl Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,8 +36,12 @@ use Apache::Constants qw(:common :http : use Apache::loncacc; use Apache::loncommon(); use Apache::lonhtmlcommon(); +use Apache::londiff(); use Apache::lonlocal; use Apache::lonmsg; +use Apache::lonmenu; +use Apache::lonnet; +use LONCAPA; sub handler { @@ -58,8 +62,8 @@ sub handler { &Apache::loncacc::constructaccess( $fn,$r->dir_config('lonDefDomain')); unless (($uname) && ($udom)) { - $r->log_reason($uname.' at '.$udom. - ' trying to list directory '.$ENV{'form.filename'}. + $r->log_reason($uname.':'.$udom. + ' trying to list directory '.$env{'form.filename'}. ' ('.$fn.') - not authorized', $r->filename); return HTTP_NOT_ACCEPTABLE; @@ -70,7 +74,7 @@ sub handler { $fn=~s/\/$//; unless ($fn) { - $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}. + $r->log_reason($env{'user.name'}.':'.$env{'user.domain'}. ' trying to list empty directory', $r->filename); return HTTP_NOT_FOUND; } @@ -89,14 +93,24 @@ sub handler { my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); &startpage($r, $uname, $udom, $thisdisfn); # Put out the start of page. + &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. + + my $numdir = 0; + my $numres = 0; # Start off the directory table. - - $r->print('
'.&mt('Actions').' | '.&mt('Name').' | '. - &mt('Title').' | '. - ''.&mt('Status').' | '.&mt('Last Modified'). - ' | '.&mt('Type').' | ' + .''.&mt('Actions').' | ' + .''.&mt('Name').' | ' + .''.&mt('Title').' | ' + .''.&mt('Status').' | ' + .''.&mt('Last Modified').' | ' + .&Apache::loncommon::end_data_table_header_row() + ); my $filename; my $dirptr=16384; # Mask indicating a directory in stat.cmode. @@ -112,17 +126,19 @@ sub handler { my $extension=''; if ($filename=~/\.(\w+)$/) { $extension=$1; } if ($cmode&$dirptr) { - putdirectory($r, $thisdisfn, $linkdir, $filename, $cmtime,$targetdir,\%bombs); + putdirectory($r, $thisdisfn, $linkdir, $filename, $cmtime,$targetdir,\%bombs,\$numdir); } elsif (&Apache::loncommon::fileembstyle($extension) ne 'hdn') { - putresource($r, $uname, $filename, $thisdisfn, $resdir, - $targetdir, $linkdir, $cmtime,\%bombs); + putresource($r, $udom, $uname, $filename, $thisdisfn, $resdir, + $targetdir, $linkdir, $cmtime,\%bombs,\$numres); } else { # "hidden" extension and not a directory, so hide it away. } } closedir(DIR); - $r->print('
---|