--- loncom/publisher/lonpublisher.pm 2001/03/24 21:51:58 1.20 +++ loncom/publisher/lonpublisher.pm 2001/04/03 11:26:02 1.23 @@ -7,7 +7,7 @@ # # 11/28,11/29,11/30,12/01,12/02,12/04,12/23 Gerd Kortemeyer # 03/23 Guy Albertelli -# 03/24 Gerd Kortemeyer +# 03/24,03/29,04/03 Gerd Kortemeyer package Apache::lonpublisher; @@ -115,6 +115,8 @@ sub publish { my ($source,$target,$style)=@_; my $logfile; my $scrout=''; + my $allmeta=''; + my $content=''; unless ($logfile=Apache::File->new('>>'.$source.'.log')) { return @@ -138,7 +140,7 @@ sub publish { my $maxindex=10; my $maxid=10; - my $content=''; + my $needsfixup=0; { @@ -290,7 +292,7 @@ sub publish { # -------------------------------------------------- Parse content for metadata - my $allmeta=Apache::lonxml::xmlparse('meta',$content); + $allmeta=Apache::lonxml::xmlparse('meta',$content); &metaeval($allmeta); # ---------------- Find and document discrepancies in the parameters and stores @@ -324,7 +326,7 @@ sub publish { $scrout.='

Obsolete parameters or stored values: '. $chparms; } - + } # ------------------------------------------------------- Now have all metadata $scrout.= @@ -408,7 +410,6 @@ sub publish { $scrout.=&selectbox('Copyright/Distribution','copyright', $metadatafields{'copyright'},%cprtag); - } return $scrout. '

'; } @@ -631,8 +632,19 @@ if (-e $target) { my $thisdistarget=$target; $thisdistarget=~s/^$docroot//; + my $thissrc=$source; + $thissrc=~s/^\/home\/(\w+)\/public_html/\/priv\/$1/; + + my $thissrcdir=$thissrc; + $thissrcdir=~s/\/[^\/]+$/\//; + + return $scrout. - '

View Target'; + '


View Target'. + '

Back to Source'. + '

Back to Source Directory'; + } # ================================================================ Main Handler @@ -646,7 +658,6 @@ sub handler { return OK; } -unless ($ENV{'form.pubdir'}) { # -------------------------------------------------------------- Check filename my $fn=$ENV{'form.filename'}; @@ -775,55 +786,7 @@ unless ($ENV{'form.phase'} eq 'two') { } $r->print(''); -} else { - my $fn=$ENV{'form.filename'}; - - $fn=~s/\/[^\/]+$//; - my $thisprefix=$fn; - $thisprefix=~s/\/\~/\/priv\//; - - $fn=~s/^http\:\/\/[^\/]+\/\~(\w+)/\/home\/$1\/public_html/; - - unless ($fn) { - $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}. - ' trying to publish empty directory', $r->filename); - return HTTP_NOT_FOUND; - } - -# ----------------------------------------------------------- Start page output - - $r->content_type('text/html'); - $r->send_http_header; - - $r->print('LON-CAPA Publishing Directory'); - $r->print( - ''); - - my $thisdisfn=$fn; - $thisdisfn=~s/^\/home\/$ENV{'user.name'}\/public_html\///; - - $r->print('

Publishing directory '.$thisdisfn.'

'); - my $i=0; - $r->print(''); - - $r->print(''); - -} return OK; }