version 1.194, 2005/05/19 03:22:04
|
version 1.196, 2005/05/30 16:56:46
|
Line 1020 sub publish {
|
Line 1020 sub publish {
|
} |
} |
|
|
# ------------------------------------------------ First, check out environment |
# ------------------------------------------------ First, check out environment |
unless (-e $source.'.meta') { |
if ((!(-e $source.'.meta')) || ($env{'form.forceoverride'})) { |
$metadatafields{'author'}=$env{'environment.firstname'}.' '. |
$metadatafields{'author'}=$env{'environment.firstname'}.' '. |
$env{'environment.middlename'}.' '. |
$env{'environment.middlename'}.' '. |
$env{'environment.lastname'}.' '. |
$env{'environment.lastname'}.' '. |
Line 1070 sub publish {
|
Line 1070 sub publish {
|
delete $metadatafields{$_}; |
delete $metadatafields{$_}; |
} |
} |
} |
} |
|
# ------------------------------------------------------------- Save some stuff |
|
my %savemeta=(); |
|
foreach ('title') { |
|
$savemeta{$_}=$metadatafields{$_}; |
|
} |
# ------------------------------------------ See if anything new in file itself |
# ------------------------------------------ See if anything new in file itself |
|
|
$allmeta=&parseformeta($source,$style); |
$allmeta=&parseformeta($source,$style); |
|
# ----------------------------------------------------------- Restore the stuff |
|
foreach (keys %savemeta) { |
|
$metadatafields{$_}=$savemeta{$_}; |
|
} |
} |
} |
|
|
|
|
Line 1335 END
|
Line 1343 END
|
&hiddenfield('copyright',$metadatafields{'copyright'}). |
&hiddenfield('copyright',$metadatafields{'copyright'}). |
&hiddenfield('sourceavail',$metadatafields{'sourceavail'}). |
&hiddenfield('sourceavail',$metadatafields{'sourceavail'}). |
&hiddenfield('customdistributionfile',$metadatafields{'customdistributionfile'}). |
&hiddenfield('customdistributionfile',$metadatafields{'customdistributionfile'}). |
|
&hiddenfield('obsolete',1). |
&text_with_browse_field('Suggested Replacement for Obsolete File', |
&text_with_browse_field('Suggested Replacement for Obsolete File', |
'obsoletereplacement', |
'obsoletereplacement', |
$metadatafields{'obsoletereplacement'}); |
$metadatafields{'obsoletereplacement'}); |
Line 1389 sub phasetwo {
|
Line 1398 sub phasetwo {
|
my ($r,$source,$target,$style,$distarget,$batch)=@_; |
my ($r,$source,$target,$style,$distarget,$batch)=@_; |
$source=~s/\/+/\//g; |
$source=~s/\/+/\//g; |
$target=~s/\/+/\//g; |
$target=~s/\/+/\//g; |
|
# |
if ($target=~/\_\_\_/) { |
# Unless trying to get rid of something, check name validity |
$r->print( |
# |
'<font color="red">'.&mt('Unsupported character combination'). |
unless ($env{'form.obsolete'}) { |
' "<tt>___</tt>" '.&mt('in filename, FAIL').'</font>'); |
if ($target=~/(\_\_\_|\&\&\&|\:\:\:)/) { |
return 0; |
$r->print( |
|
'<font color="red">'.&mt('Unsupported character combination'). |
|
' "<tt>'.$1.'</tt>" '.&mt('in filename, FAIL').'</font>'); |
|
return 0; |
|
} |
|
unless ($target=~/\.(\w+)$/) { |
|
$r->print('<font color="red">'.&mt('No valid extension found in filename, FAIL').'</font>'); |
|
return 0; |
|
} |
|
if ($target=~/\.(\d+)\.(\w+)$/) { |
|
$r->print('<font color="red">'.&mt('Cannot publish versioned resource, FAIL').'</font>'); |
|
return 0; |
|
} |
} |
} |
|
|
|
# |
|
# End name check |
|
# |
$distarget=~s/\/+/\//g; |
$distarget=~s/\/+/\//g; |
my $logfile; |
my $logfile; |
unless ($logfile=Apache::File->new('>>'.$source.'.log')) { |
unless ($logfile=Apache::File->new('>>'.$source.'.log')) { |
Line 1739 sub publishdirectory {
|
Line 1764 sub publishdirectory {
|
&hiddenfield('filename',$env{'form.filename'}). |
&hiddenfield('filename',$env{'form.filename'}). |
&checkbox('pubrec','include subdirectories'). |
&checkbox('pubrec','include subdirectories'). |
&checkbox('forcerepub','force republication of previously published files'). |
&checkbox('forcerepub','force republication of previously published files'). |
&checkbox('forceobsolete','make file(s) obsolete')); |
&checkbox('forceobsolete','make file(s) obsolete'). |
my %allcopyrights=('keep','Keep current copyright'); |
&checkbox('forceoverride','force directory level catalog information over existing'). |
my %ratcopyrights=%allcopyrights; |
'<br /><input type="submit" value="'.&mt('Publish Directory').'" /></form>'); |
foreach (&Apache::loncommon::copyrightids) { |
|
$allcopyrights{$_}=&Apache::loncommon::copyrightdescription($_); |
|
unless ($_ eq 'public') { $ratcopyrights{$_}=$allcopyrights{$_}; } |
|
} |
|
$r->print('<br >'.&mt('Copyright for all files:').&Apache::loncommon::select_form('keep','forceallcopy',%allcopyrights)); |
|
$r->print('<br >'.&mt('Copyright for pages/sequences:').&Apache::loncommon::select_form('keep','forceratcopy',%ratcopyrights)); |
|
$r->print(&text_with_browse_field('Custom Distribution File','forcecustomfile')); |
|
$r->print('<br /><input type="submit" value="'.&mt('Publish Directory').'" /></form>'); |
|
} else { |
} else { |
# actually publish things |
# actually publish things |
opendir(DIR,$fn); |
opendir(DIR,$fn); |