--- loncom/publisher/lonpubdir.pm 2002/02/05 12:54:46 1.21 +++ loncom/publisher/lonpubdir.pm 2002/02/05 22:25:00 1.22 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonpubdir.pm,v 1.21 2002/02/05 12:54:46 foxr Exp $ +# $Id: lonpubdir.pm,v 1.22 2002/02/05 22:25:00 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -134,44 +134,8 @@ sub handler { if ($cmode&$dirptr) { putdirectory($r, $thisdisfn, $linkdir, $filename, $cmtime); } elsif (&Apache::loncommon::fileembstyle($extension) ne 'hdn') { - my $status='Unpublished'; - my $title=' '; - if (-e $resdir.'/'.$filename) { - my ($rdev,$rino,$rmode,$rnlink, - $ruid,$rgid,$rrdev,$rsize, - $ratime,$rmtime,$rctime, - $rblksize,$rblocks)=stat($resdir.'/'.$filename); - if ($rmtime>=$cmtime) { - $status='Published'; - $title= - ''. - &Apache::lonnet::metadata($targetdir.'/'.$filename,'title').''; - } else { - $status='Modified'; - $title= - ''. - &Apache::lonnet::metadata($targetdir.'/'.$filename,'title').''; - if - (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { - $status.='
Diffs'; - } - } - $status.='
Retrieve'; - } - $r->print(''. - ''.'Publish'. - ''. - ''. - ''.$filename.''. - ''. - ''.$title.''. - ''.$status.''. - ''.localtime($cmtime).''. - ''); + putresource($r, $uname, $filename, $thisdisfn, $resdir, + $targetdir, $linkdir, $cmtime); } else { # "hidden" extension and not a directory, so hide it away. } @@ -212,6 +176,52 @@ sub putdirectory { } return OK; } +# +# Put a table row for a file resource. +# +sub putresource { + my ($r, $uname, $filename, $thisdisfn, + $resdir, $targetdir, $linkdir, + $cmtime) = @_; + + my $status='Unpublished'; + my $title=' '; + if (-e $resdir.'/'.$filename) { + my ($rdev,$rino,$rmode,$rnlink, + $ruid,$rgid,$rrdev,$rsize, + $ratime,$rmtime,$rctime, + $rblksize,$rblocks)=stat($resdir.'/'.$filename); + if ($rmtime>=$cmtime) { + $status='Published'; + $title=''. + &Apache::lonnet::metadata($targetdir.'/'.$filename,'title').''; + } else { + $status='Modified'; + $title=''. + &Apache::lonnet::metadata($targetdir.'/'.$filename,'title').''; + if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { + $status.='
Diffs'; + } + } + $status.='
Retrieve'; + } + $r->print(''. + ''.'Publish'. + ''. + ''. + ''.$filename.''. + ''. + ''.$title.''. + ''.$status.''. + ''.localtime($cmtime).''. + ''); + return OK; +} + 1; __END__