--- loncom/publisher/lonpubdir.pm 2002/02/09 01:38:54 1.23 +++ loncom/publisher/lonpubdir.pm 2002/06/04 13:13:38 1.25 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonpubdir.pm,v 1.23 2002/02/09 01:38:54 foxr Exp $ +# $Id: lonpubdir.pm,v 1.25 2002/06/04 13:13:38 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -95,7 +95,7 @@ sub handler { my $resdir=$docroot.'/res/'.$udom.'/'.$uname.$thisdisfn; # Resource directory my $targetdir=$udom.'/'.$uname.$thisdisfn; # Publiction target directory. - my $linkdir='/~'.$uname.$thisdisfn; # Full URL name of constr space. + my $linkdir='/priv/'.$uname.$thisdisfn; # Full URL name of constr space. @@ -153,8 +153,16 @@ sub getEffectiveUrl { # Remove trailing / strings (?) $fn=~s/\/[^\/]+$//; - } else { # If no form is defined, use request filename. - $fn=$r->filename(); + } else { + # If no form is defined, use request filename. + $fn = $r->filename(); + my $lonDocRoot=$r->dir_config('lonDocRoot'); + if ( $fn =~ /$lonDocRoot/ ) { + #internal authentication, needs fixup. + $fn = $r->uri(); # non users do not get the full path request + # through SCRIPT_FILENAME + $fn=~s|^/~(\w+)|/home/$1/public_html|; + } } return $fn; } @@ -228,14 +236,14 @@ sub putdirectory { } unless (( ($dirname eq '..') && ($reqfile eq '')) || ($dirname eq '.')) { - $r->print(''. - 'Click to cwd'. - ''. + $r->print(''. + 'Go to ...'. + ''. $disfilename.''. ' '. ' '. ''.localtime($modtime).''. - ''); + "\n"); } return OK; } @@ -248,6 +256,7 @@ sub putresource { $cmtime) = @_; my $status='Unpublished'; + my $bgcolor='#FFCCCC'; my $title=' '; if (-e $resdir.'/'.$filename) { my ($rdev,$rino,$rmode,$rnlink, @@ -256,13 +265,15 @@ sub putresource { $rblksize,$rblocks)=stat($resdir.'/'.$filename); if ($rmtime>=$cmtime) { $status='Published'; + $bgcolor='#CCFFCC'; $title=''. getTitleString($targetdir.'/'.$filename, 'title').''; } else { $status='Modified'; + $bgcolor='#FFFFCC'; $title=''. - &Apache::lonnet::metadata($targetdir.'/'.$filename,'title').''; + getTitleString($targetdir.'/'.$filename,'title').''; if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { $status.='
Retrieve'; } - $r->print(''. + $r->print(''. ''.'Publish'. ''. ''. - ''.$filename.''. + ''. + $filename.''. ''. ''.$title.''. ''.$status.''. ''.localtime($cmtime).''. - ''); + "\n"); return OK; } #