--- loncom/publisher/lonpubdir.pm 2001/05/09 16:57:07 1.6 +++ loncom/publisher/lonpubdir.pm 2001/08/20 13:18:41 1.13 @@ -10,7 +10,7 @@ # 03/23 Guy Albertelli # 03/24,03/29 Gerd Kortemeyer) # -# 03/31,04/03,05/09 Gerd Kortemeyer +# 03/31,04/03,05/09,06/23,08/18,08/20 Gerd Kortemeyer package Apache::lonpubdir; @@ -19,6 +19,7 @@ use Apache::File; use File::Copy; use Apache::Constants qw(:common :http :methods); use Apache::loncacc; +use Apache::lonnet; sub handler { @@ -38,9 +39,10 @@ sub handler { my $uname; my $udom; - unless (($uname,$udom)= + ($uname,$udom)= &Apache::loncacc::constructaccess( - $fn,$r->dir_config('lonDefDomain'))) { + $fn,$r->dir_config('lonDefDomain')); + unless (($uname) && ($udom)) { $r->log_reason($uname.' at '.$udom. ' trying to publish file '.$ENV{'form.filename'}. ' ('.$fn.') - not authorized', @@ -84,19 +86,23 @@ sub handler { my $linkdir='/~'.$uname.$thisdisfn; $r->print(''. - ''); + ''); my $filename; my $dirptr=16384; opendir(DIR,$fn); - while ($filename=readdir(DIR)) { + my @files=sort(readdir(DIR)); + foreach my $filename (@files) { my ($cdev,$cino,$cmode,$cnlink, $cuid,$cgid,$crdev,$csize, $catime,$cmtime,$cctime, $cblksize,$cblocks)=stat($fn.'/'.$filename); - $filename=~/\.(\w+)$/; - if (($1 ne 'meta') && (&Apache::lonnet::fileembstyle($1))) { + + my $extension=''; + if ($filename=~/\.(\w+)$/) { $extension=$1; } + if (($extension ne 'meta') && + (&Apache::lonnet::fileembstyle($extension))) { my $status='Unpublished'; my $bgcol='#FFBBBB'; if (-e $resdir.'/'.$filename) { @@ -112,14 +118,20 @@ sub handler { $bgcol='#FFFFBB'; if (&Apache::lonnet::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { - $status.='
Diffs'; } } + $status.='
Retrieve'; } $r->print(''); + ''. + ''); } elsif ($cmode&$dirptr) { my $disfilename=$filename; if ($filename eq '..') { @@ -129,7 +141,8 @@ sub handler { ($filename eq '.')) { $r->print(''); + '' + ); } } }
FilenameModifiedStatus
FilenameModifiedStatus 
'.$filename. - ''.localtime($cmtime).''.$status.'
'.localtime($cmtime).''.$status.''. + 'Publish
'.$disfilename. - ''.localtime($cmtime).' 
'.localtime($cmtime).'