--- loncom/publisher/lonpubdir.pm 2003/12/22 19:30:25 1.48 +++ loncom/publisher/lonpubdir.pm 2009/11/18 20:48:06 1.125 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Construction Space Directory Lister # -# $Id: lonpubdir.pm,v 1.48 2003/12/22 19:30:25 www Exp $ +# $Id: lonpubdir.pm,v 1.125 2009/11/18 20:48:06 droeschl Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,7 +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 { @@ -57,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; @@ -69,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; } @@ -85,17 +90,31 @@ sub handler { my $targetdir=$udom.'/'.$uname.$thisdisfn; # Publiction target directory. my $linkdir='/priv/'.$uname.$thisdisfn; # Full URL name of constr space. - + my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); &startpage($r, $uname, $udom, $thisdisfn); # Put out the start of page. - - # Start off the diretory table. + if ($env{'environment.remote'} eq 'off') { + &dircontrols($r,$uname,$udom,$thisdisfn); # Put out actions for directory, + # browse/upload + new file page. + } else { + &pubbuttons($r,$uname,$thisdisfn); + } + &resourceactions($r,$uname,$udom,$thisdisfn); #Put out form used for printing/deletion etc. - $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. @@ -111,17 +130,19 @@ sub handler { my $extension=''; if ($filename=~/\.(\w+)$/) { $extension=$1; } if ($cmode&$dirptr) { - putdirectory($r, $thisdisfn, $linkdir, $filename, $cmtime); + 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); + 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('
---|