version 1.146, 2003/12/08 18:26:01
|
version 1.149, 2003/12/22 22:09:06
|
Line 25
|
Line 25
|
# |
# |
# http://www.lon-capa.org/ |
# 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 |
|
# |
|
### |
### |
|
|
############################################################################### |
############################################################################### |
Line 219 sub metaeval {
|
Line 201 sub metaeval {
|
$newentry=~s/^\s*//; |
$newentry=~s/^\s*//; |
if ($newentry !~m|^/res|) { $newentry=$prefix.$newentry; } |
if ($newentry !~m|^/res|) { $newentry=$prefix.$newentry; } |
} |
} |
unless ($metadatafields{$unikey}=~/\w/) { |
# actually store |
$metadatafields{$unikey}=$newentry; |
$metadatafields{$unikey}=$newentry; |
} |
|
} |
} |
} |
} |
} |
} |
Line 277 sub metaread {
|
Line 258 sub metaread {
|
$metastring=join('',<$metafh>); |
$metastring=join('',<$metafh>); |
} |
} |
&metaeval($metastring,$prefix); |
&metaeval($metastring,$prefix); |
return '<br /><b>Processed file:</b> <tt>'. |
return '<br /><b>'.&mt('Processed file').':</b> <tt>'. |
&Apache::loncfile::display($fn).'</tt>'; |
&Apache::loncfile::display($fn).'</tt>'; |
} |
} |
|
|
Line 628 sub fix_ids_and_indices {
|
Line 609 sub fix_ids_and_indices {
|
join(', ',@duplicatedids)); |
join(', ',@duplicatedids)); |
if ($duplicateids) { |
if ($duplicateids) { |
print $logfile "Duplicate ID(s) exist, ".join(', ',@duplicatedids)."\n"; |
print $logfile "Duplicate ID(s) exist, ".join(', ',@duplicatedids)."\n"; |
my $outstring='<font color="red">Unable to publish file, it contains duplicated ID(s), ID(s) need to be unique. The duplicated ID(s) are: '.join(', ',@duplicatedids).'</font>'; |
my $outstring='<font color="red">'.&mt('Unable to publish file, it contains duplicated ID(s), ID(s) need to be unique. The duplicated ID(s) are').': '.join(', ',@duplicatedids).'</font>'; |
return ($outstring,1); |
return ($outstring,1); |
} |
} |
if ($needsfixup) { |
if ($needsfixup) { |
Line 693 sub fix_ids_and_indices {
|
Line 674 sub fix_ids_and_indices {
|
} |
} |
if ($lctag eq 'applet') { |
if ($lctag eq 'applet') { |
my $codebase=''; |
my $codebase=''; |
if (defined($parms{'codebase'})) { |
my $havecodebase=0; |
my $oldcodebase=$parms{'codebase'}; |
foreach my $key (keys(%parms)) { |
|
if (lc($key) eq 'codebase') { |
|
$codebase=$parms{$key}; |
|
$havecodebase=1; |
|
} |
|
} |
|
if ($havecodebase) { |
|
my $oldcodebase=$codebase; |
unless ($oldcodebase=~/\/$/) { |
unless ($oldcodebase=~/\/$/) { |
$oldcodebase.='/'; |
$oldcodebase.='/'; |
} |
} |
Line 708 sub fix_ids_and_indices {
|
Line 696 sub fix_ids_and_indices {
|
} |
} |
$allow{&absoluteurl($codebase,$target).'/*'}=1; |
$allow{&absoluteurl($codebase,$target).'/*'}=1; |
} else { |
} else { |
foreach ('archive','code','object') { |
foreach my $key (keys(%parms)) { |
if (defined($parms{$_})) { |
if ($key =~ /(archive|code|object)/i) { |
my $oldurl=$parms{$_}; |
my $oldurl=$parms{$key}; |
my $newurl=&urlfixup($oldurl,$target); |
my $newurl=&urlfixup($oldurl,$target); |
$newurl=~s/\/[^\/]+$/\/\*/; |
$newurl=~s/\/[^\/]+$/\/\*/; |
print $logfile 'Allow: applet '.$_.':'. |
print $logfile 'Allow: applet '.lc($key).':'. |
$oldurl.' allows '. |
$oldurl.' allows '.$newurl."\n"; |
$newurl."\n"; |
|
$allow{&absoluteurl($newurl,$target)}=1; |
$allow{&absoluteurl($newurl,$target)}=1; |
} |
} |
} |
} |
Line 868 sub publish {
|
Line 855 sub publish {
|
my %allow=(); |
my %allow=(); |
|
|
unless ($logfile=Apache::File->new('>>'.$source.'.log')) { |
unless ($logfile=Apache::File->new('>>'.$source.'.log')) { |
return ('<font color="red">No write permission to user directory, FAIL</font>',1); |
return ('<font color="red">'.&mt('No write permission to user directory, FAIL').'</font>',1); |
} |
} |
print $logfile |
print $logfile |
"\n\n================= Publish ".localtime()." Phase One ================\n".$ENV{'user.name'}.'@'.$ENV{'user.domain'}."\n"; |
"\n\n================= Publish ".localtime()." Phase One ================\n".$ENV{'user.name'}.'@'.$ENV{'user.domain'}."\n"; |
Line 910 sub publish {
|
Line 897 sub publish {
|
if ( |
if ( |
&Apache::lonnet::getfile($Apache::lonnet::perlvar{'lonDocRoot'}.'/'. |
&Apache::lonnet::getfile($Apache::lonnet::perlvar{'lonDocRoot'}.'/'. |
$thisdep.'.meta') eq '-1') { |
$thisdep.'.meta') eq '-1') { |
$scrout.= ' - <font color="red">Currently not available'. |
$scrout.= ' - <font color="red">'.&mt('Currently not available'). |
'</font>'; |
'</font>'; |
} else { |
} else { |
my %temphash=(&Apache::lonnet::declutter($target).'___'. |
my %temphash=(&Apache::lonnet::declutter($target).'___'. |
Line 975 sub publish {
|
Line 962 sub publish {
|
$ENV{'user.domain'}; |
$ENV{'user.domain'}; |
$metadatafields{'authorspace'}=$cuname.'@'.$cudom; |
$metadatafields{'authorspace'}=$cuname.'@'.$cudom; |
|
|
# ----------------------------------------------------------- Parse file itself |
|
# read %metadatafields from file itself |
|
|
|
$allmeta=&parseformeta($source,$style); |
|
# ------------------------------------------------ Check out directory hierachy |
# ------------------------------------------------ Check out directory hierachy |
|
|
my $thisdisfn=$source; |
my $thisdisfn=$source; |
Line 995 sub publish {
|
Line 978 sub publish {
|
$scrout.=&metaread($logfile,$currentpath.'default.meta',$prefix); |
$scrout.=&metaread($logfile,$currentpath.'default.meta',$prefix); |
$prefix=~s|^\.\./||; |
$prefix=~s|^\.\./||; |
} |
} |
|
# ----------------------------------------------------------- Parse file itself |
|
# read %metadatafields from file itself |
|
|
|
$allmeta=&parseformeta($source,$style); |
|
|
# ------------------- Clear out parameters and stores (there should not be any) |
# ------------------- Clear out parameters and stores (there should not be any) |
|
|
Line 1351 sub phasetwo {
|
Line 1338 sub phasetwo {
|
$allkeywords=~s/^\,//; |
$allkeywords=~s/^\,//; |
$metadatafields{'keywords'}=$allkeywords; |
$metadatafields{'keywords'}=$allkeywords; |
|
|
|
# check if custom distribution file is specified |
|
if ($metadatafields{'copyright'} eq 'custom') { |
|
my $file=$metadatafields{'customdistributionfile'}; |
|
unless ($file=~/\.rights$/) { |
|
return |
|
'<font color="red">'.&mt('No valid custom distribution rights file specified, FAIL'). |
|
'</font>'; |
|
} |
|
} |
{ |
{ |
print $logfile "\nWrite metadata file for ".$source; |
print $logfile "\nWrite metadata file for ".$source; |
my $mfh; |
my $mfh; |
Line 1556 sub phasetwo {
|
Line 1552 sub phasetwo {
|
'"><font size="+2">'. |
'"><font size="+2">'. |
&mt('Back to Source Directory').'</font></a></p>'); |
&mt('Back to Source Directory').'</font></a></p>'); |
} |
} |
|
return '<p><font color="green">'.&mt('Done').'</font></p>'; |
} |
} |
|
|
######################################### |
######################################### |
Line 1855 ENDDIFF
|
Line 1852 ENDDIFF
|
my ($outstring,$error)=&publish($thisfn,$thistarget,$thisembstyle); |
my ($outstring,$error)=&publish($thisfn,$thistarget,$thisembstyle); |
$r->print('<hr />'.$outstring); |
$r->print('<hr />'.$outstring); |
} else { |
} else { |
$r->print('<hr />'); |
$r->print('<hr />'. |
&phasetwo($r,$thisfn,$thistarget,$thisembstyle,$thisdistarget); |
&phasetwo($r,$thisfn,$thistarget,$thisembstyle,$thisdistarget)); |
} |
} |
} |
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |