--- loncom/publisher/lonpublisher.pm 2001/08/17 16:27:08 1.39 +++ loncom/publisher/lonpublisher.pm 2001/08/18 16:38:37 1.42 @@ -71,7 +71,8 @@ sub metaeval { } @{$token->[3]}; if ($metadatafields{$unikey}) { my $newentry=$parser->get_text('/'.$entry); - unless ($metadatafields{$unikey}=~/$newentry/) { + unless (($metadatafields{$unikey}=~/$newentry/) || + ($newentry eq '')) { $metadatafields{$unikey}.=', '.$newentry; } } else { @@ -143,6 +144,7 @@ sub urlfixup { $url=~s/^$host//; } } values %Apache::lonnet::hostname; + if ($url=~/^http\:\/\//) { return $url; } $url=~s/\~$cuname/res\/$cudom\/$cuname/; if ($target) { $target=~s/\/[^\/]+$//; @@ -307,7 +309,7 @@ sub publish { } } elsif ($token->[0] eq 'E') { unless ($token->[1] eq 'allow') { - $outstring.=$token->[2]; + $outstring.='[1].'>'; } } else { $outstring.=$token->[1]; @@ -400,7 +402,11 @@ sub publish { # -------------------------------------------------- Parse content for metadata if ($style eq 'ssi') { + my $oldenv=$ENV{'request.uri'}; + + $ENV{'request.uri'}=$target; $allmeta=Apache::lonxml::xmlparse('meta',$content); + $ENV{'request.uri'}=$oldenv; &metaeval($allmeta); }