--- loncom/publisher/lonpublisher.pm 2003/12/16 14:42:34 1.147 +++ loncom/publisher/lonpublisher.pm 2003/12/22 22:09:06 1.149 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Publication Handler # -# $Id: lonpublisher.pm,v 1.147 2003/12/16 14:42:34 sakharuk Exp $ +# $Id: lonpublisher.pm,v 1.149 2003/12/22 22:09:06 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,24 +25,6 @@ # # http://www.lon-capa.org/ # -# -# (TeX Content Handler -# -# 05/29/00,05/30,10/11 Gerd Kortemeyer) -# -# 11/28,11/29,11/30,12/01,12/02,12/04,12/23 Gerd Kortemeyer -# 03/23 Guy Albertelli -# 03/24,03/29,04/03 Gerd Kortemeyer -# 05/03,05/05,05/07 Gerd Kortemeyer -# 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26,10/16 Gerd Kortemeyer -# 12/04,12/05 Guy Albertelli -# 12/05 Gerd Kortemeyer -# 12/05 Guy Albertelli -# 12/06,12/07 Gerd Kortemeyer -# 12/25 Gerd Kortemeyer -# YEAR=2002 -# 1/17 Gerd Kortemeyer -# ### ############################################################################### @@ -219,9 +201,8 @@ sub metaeval { $newentry=~s/^\s*//; if ($newentry !~m|^/res|) { $newentry=$prefix.$newentry; } } - unless ($metadatafields{$unikey}=~/\w/) { - $metadatafields{$unikey}=$newentry; - } +# actually store + $metadatafields{$unikey}=$newentry; } } } @@ -693,8 +674,15 @@ sub fix_ids_and_indices { } if ($lctag eq 'applet') { my $codebase=''; - if (defined($parms{'codebase'})) { - my $oldcodebase=$parms{'codebase'}; + my $havecodebase=0; + foreach my $key (keys(%parms)) { + if (lc($key) eq 'codebase') { + $codebase=$parms{$key}; + $havecodebase=1; + } + } + if ($havecodebase) { + my $oldcodebase=$codebase; unless ($oldcodebase=~/\/$/) { $oldcodebase.='/'; } @@ -708,14 +696,13 @@ sub fix_ids_and_indices { } $allow{&absoluteurl($codebase,$target).'/*'}=1; } else { - foreach ('archive','code','object') { - if (defined($parms{$_})) { - my $oldurl=$parms{$_}; + foreach my $key (keys(%parms)) { + if ($key =~ /(archive|code|object)/i) { + my $oldurl=$parms{$key}; my $newurl=&urlfixup($oldurl,$target); $newurl=~s/\/[^\/]+$/\/\*/; - print $logfile 'Allow: applet '.$_.':'. - $oldurl.' allows '. - $newurl."\n"; + print $logfile 'Allow: applet '.lc($key).':'. + $oldurl.' allows '.$newurl."\n"; $allow{&absoluteurl($newurl,$target)}=1; } } @@ -975,10 +962,6 @@ sub publish { $ENV{'user.domain'}; $metadatafields{'authorspace'}=$cuname.'@'.$cudom; -# ----------------------------------------------------------- Parse file itself -# read %metadatafields from file itself - - $allmeta=&parseformeta($source,$style); # ------------------------------------------------ Check out directory hierachy my $thisdisfn=$source; @@ -995,6 +978,10 @@ sub publish { $scrout.=&metaread($logfile,$currentpath.'default.meta',$prefix); $prefix=~s|^\.\./||; } +# ----------------------------------------------------------- Parse file itself +# read %metadatafields from file itself + + $allmeta=&parseformeta($source,$style); # ------------------- Clear out parameters and stores (there should not be any) @@ -1351,6 +1338,15 @@ sub phasetwo { $allkeywords=~s/^\,//; $metadatafields{'keywords'}=$allkeywords; +# check if custom distribution file is specified + if ($metadatafields{'copyright'} eq 'custom') { + my $file=$metadatafields{'customdistributionfile'}; + unless ($file=~/\.rights$/) { + return + ''.&mt('No valid custom distribution rights file specified, FAIL'). + ''; + } + } { print $logfile "\nWrite metadata file for ".$source; my $mfh; @@ -1556,6 +1552,7 @@ sub phasetwo { '">'. &mt('Back to Source Directory').'

'); } + return '

'.&mt('Done').'

'; } ######################################### @@ -1855,8 +1852,8 @@ ENDDIFF my ($outstring,$error)=&publish($thisfn,$thistarget,$thisembstyle); $r->print('
'.$outstring); } else { - $r->print('
'); - &phasetwo($r,$thisfn,$thistarget,$thisembstyle,$thisdistarget); + $r->print('
'. + &phasetwo($r,$thisfn,$thistarget,$thisembstyle,$thisdistarget)); } } $r->print('');