version 1.191, 2005/04/04 23:55:17
|
version 1.193, 2005/05/17 00:46:36
|
Line 121 use HTML::LCParser;
|
Line 121 use HTML::LCParser;
|
use Apache::lonxml; |
use Apache::lonxml; |
use Apache::loncacc; |
use Apache::loncacc; |
use DBI; |
use DBI; |
use Apache::lonnet(); |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonmysql; |
use Apache::lonmysql; |
use Apache::lonlocal; |
use Apache::lonlocal; |
Line 326 sub textfield {
|
Line 326 sub textfield {
|
$value=~s/\s+$//gs; |
$value=~s/\s+$//gs; |
$value=~s/\s+/ /gs; |
$value=~s/\s+/ /gs; |
$title=&mt($title); |
$title=&mt($title); |
$ENV{'form.'.$name}=$value; |
$env{'form.'.$name}=$value; |
return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$title:". |
return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$title:". |
"</b></font></p><br />". |
"</b></font></p><br />". |
'<input type="text" name="'.$name.'" size=80 value="'.$value.'" />'; |
'<input type="text" name="'.$name.'" size=80 value="'.$value.'" />'; |
Line 338 sub text_with_browse_field {
|
Line 338 sub text_with_browse_field {
|
$value=~s/\s+$//gs; |
$value=~s/\s+$//gs; |
$value=~s/\s+/ /gs; |
$value=~s/\s+/ /gs; |
$title=&mt($title); |
$title=&mt($title); |
$ENV{'form.'.$name}=$value; |
$env{'form.'.$name}=$value; |
return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$title:". |
return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$title:". |
"</b></font></p><br />". |
"</b></font></p><br />". |
'<input type="text" name="'.$name.'" size=80 value="'.$value.'" />'. |
'<input type="text" name="'.$name.'" size=80 value="'.$value.'" />'. |
Line 349 sub text_with_browse_field {
|
Line 349 sub text_with_browse_field {
|
|
|
sub hiddenfield { |
sub hiddenfield { |
my ($name,$value)=@_; |
my ($name,$value)=@_; |
$ENV{'form.'.$name}=$value; |
$env{'form.'.$name}=$value; |
return "\n".'<input type="hidden" name="'.$name.'" value="'.$value.'" />'; |
return "\n".'<input type="hidden" name="'.$name.'" value="'.$value.'" />'; |
} |
} |
|
|
|
sub checkbox { |
|
my ($name,$text)=@_; |
|
return "\n<br /><input type='checkbox' name='$name' /> $text"; |
|
} |
|
|
sub selectbox { |
sub selectbox { |
my ($title,$name,$value,$functionref,@idlist)=@_; |
my ($title,$name,$value,$functionref,@idlist)=@_; |
$title=&mt($title); |
$title=&mt($title); |
$value=(split(/\s*,\s*/,$value))[-1]; |
$value=(split(/\s*,\s*/,$value))[-1]; |
if (defined($value)) { |
if (defined($value)) { |
$ENV{'form.'.$name}=$value; |
$env{'form.'.$name}=$value; |
} else { |
} else { |
$ENV{'form.'.$name}=$idlist[0]; |
$env{'form.'.$name}=$idlist[0]; |
} |
} |
my $selout="\n<p><font color=\"#800000\" face=\"helvetica\"><b>$title:". |
my $selout="\n<p><font color=\"#800000\" face=\"helvetica\"><b>$title:". |
'</b></font></p><br /><select name="'.$name.'">'; |
'</b></font></p><br /><select name="'.$name.'">'; |
Line 376 sub selectbox {
|
Line 381 sub selectbox {
|
|
|
sub select_level_form { |
sub select_level_form { |
my ($value,$name)=@_; |
my ($value,$name)=@_; |
$ENV{'form.'.$name}=$value; |
$env{'form.'.$name}=$value; |
if (!defined($value)) { $ENV{'form.'.$name}=0; } |
if (!defined($value)) { $env{'form.'.$name}=0; } |
return &Apache::loncommon::select_level_form($value,$name); |
return &Apache::loncommon::select_level_form($value,$name); |
} |
} |
######################################### |
######################################### |
Line 928 sub publish {
|
Line 933 sub publish {
|
return ('<font color="red">'.&mt('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"; |
|
|
if (($style eq 'ssi') || ($style eq 'rat') || ($style eq 'prv')) { |
if (($style eq 'ssi') || ($style eq 'rat') || ($style eq 'prv')) { |
# ------------------------------------------------------- This needs processing |
# ------------------------------------------------------- This needs processing |
Line 1016 sub publish {
|
Line 1021 sub publish {
|
|
|
# ------------------------------------------------ First, check out environment |
# ------------------------------------------------ First, check out environment |
unless (-e $source.'.meta') { |
unless (-e $source.'.meta') { |
$metadatafields{'author'}=$ENV{'environment.firstname'}.' '. |
$metadatafields{'author'}=$env{'environment.firstname'}.' '. |
$ENV{'environment.middlename'}.' '. |
$env{'environment.middlename'}.' '. |
$ENV{'environment.lastname'}.' '. |
$env{'environment.lastname'}.' '. |
$ENV{'environment.generation'}; |
$env{'environment.generation'}; |
$metadatafields{'author'}=~s/\s+/ /g; |
$metadatafields{'author'}=~s/\s+/ /g; |
$metadatafields{'author'}=~s/\s+$//; |
$metadatafields{'author'}=~s/\s+$//; |
$metadatafields{'owner'}=$cuname.'@'.$cudom; |
$metadatafields{'owner'}=$cuname.'@'.$cudom; |
Line 1141 sub publish {
|
Line 1146 sub publish {
|
# interactive mode html goes into $intr_scrout |
# interactive mode html goes into $intr_scrout |
# batch mode throws away this HTML |
# batch mode throws away this HTML |
# additionally all of the field functions have a by product of setting |
# additionally all of the field functions have a by product of setting |
# $ENV{'from.'..} so that it can be used by the phase two handler in |
# $env{'from.'..} so that it can be used by the phase two handler in |
# batch mode |
# batch mode |
|
|
my $intr_scrout.= |
my $intr_scrout.= |
'<form name="pubform" action="/adm/publish" method="post">'. |
'<form name="pubform" action="/adm/publish" method="post">'. |
'<p><input type="submit" value="'.&mt('Finalize Publication').'" /></p>'. |
'<p><input type="submit" value="'.&mt('Finalize Publication').'" /></p>'. |
&hiddenfield('phase','two'). |
&hiddenfield('phase','two'). |
&hiddenfield('filename',$ENV{'form.filename'}). |
&hiddenfield('filename',$env{'form.filename'}). |
&hiddenfield('allmeta',&Apache::lonnet::escape($allmeta)). |
&hiddenfield('allmeta',&Apache::lonnet::escape($allmeta)). |
&hiddenfield('dependencies',join(',',keys %allow)). |
&hiddenfield('dependencies',join(',',keys %allow)). |
&textfield('Title','title',$metadatafields{'title'}). |
&textfield('Title','title',$metadatafields{'title'}). |
Line 1188 END
|
Line 1193 END
|
if ($metadatafields{'keywords'}) { |
if ($metadatafields{'keywords'}) { |
if ($metadatafields{'keywords'}=~/\Q$_\E/) { |
if ($metadatafields{'keywords'}=~/\Q$_\E/) { |
$keywordout.=' checked="on"'; |
$keywordout.=' checked="on"'; |
$ENV{'form.keywords'}.=$_.','; |
$env{'form.keywords'}.=$_.','; |
} |
} |
} elsif (&Apache::loncommon::keyword($_)) { |
} elsif (&Apache::loncommon::keyword($_)) { |
$keywordout.=' checked="on"'; |
$keywordout.=' checked="on"'; |
$ENV{'form.keywords'}.=$_.','; |
$env{'form.keywords'}.=$_.','; |
} |
} |
$keywordout.=' />'.$_.'</label></td>'; |
$keywordout.=' />'.$_.'</label></td>'; |
if ($colcount>10) { |
if ($colcount>10) { |
Line 1201 END
|
Line 1206 END
|
} |
} |
$colcount++; |
$colcount++; |
} |
} |
$ENV{'form.keywords'}=~s/\,$//; |
$env{'form.keywords'}=~s/\,$//; |
|
|
$keywordout.='</tr></table>'; |
$keywordout.='</tr></table>'; |
|
|
Line 1376 sub phasetwo {
|
Line 1381 sub phasetwo {
|
return 0; |
return 0; |
} |
} |
print $logfile |
print $logfile |
"\n================= Publish ".localtime()." Phase Two ================\n".$ENV{'user.name'}.'@'.$ENV{'user.domain'}."\n"; |
"\n================= Publish ".localtime()." Phase Two ================\n".$env{'user.name'}.'@'.$env{'user.domain'}."\n"; |
|
|
%metadatafields=(); |
%metadatafields=(); |
%metadatakeys=(); |
%metadatakeys=(); |
|
|
&metaeval(&Apache::lonnet::unescape($ENV{'form.allmeta'})); |
&metaeval(&Apache::lonnet::unescape($env{'form.allmeta'})); |
|
|
$metadatafields{'title'}=$ENV{'form.title'}; |
$metadatafields{'title'}=$env{'form.title'}; |
$metadatafields{'author'}=$ENV{'form.author'}; |
$metadatafields{'author'}=$env{'form.author'}; |
$metadatafields{'subject'}=$ENV{'form.subject'}; |
$metadatafields{'subject'}=$env{'form.subject'}; |
$metadatafields{'notes'}=$ENV{'form.notes'}; |
$metadatafields{'notes'}=$env{'form.notes'}; |
$metadatafields{'abstract'}=$ENV{'form.abstract'}; |
$metadatafields{'abstract'}=$env{'form.abstract'}; |
$metadatafields{'mime'}=$ENV{'form.mime'}; |
$metadatafields{'mime'}=$env{'form.mime'}; |
$metadatafields{'language'}=$ENV{'form.language'}; |
$metadatafields{'language'}=$env{'form.language'}; |
$metadatafields{'creationdate'}=$ENV{'form.creationdate'}; |
$metadatafields{'creationdate'}=$env{'form.creationdate'}; |
$metadatafields{'lastrevisiondate'}=$ENV{'form.lastrevisiondate'}; |
$metadatafields{'lastrevisiondate'}=$env{'form.lastrevisiondate'}; |
$metadatafields{'owner'}=$ENV{'form.owner'}; |
$metadatafields{'owner'}=$env{'form.owner'}; |
$metadatafields{'copyright'}=$ENV{'form.copyright'}; |
$metadatafields{'copyright'}=$env{'form.copyright'}; |
$metadatafields{'standards'}=$ENV{'form.standards'}; |
$metadatafields{'standards'}=$env{'form.standards'}; |
$metadatafields{'lowestgradelevel'}=$ENV{'form.lowestgradelevel'}; |
$metadatafields{'lowestgradelevel'}=$env{'form.lowestgradelevel'}; |
$metadatafields{'highestgradelevel'}=$ENV{'form.highestgradelevel'}; |
$metadatafields{'highestgradelevel'}=$env{'form.highestgradelevel'}; |
$metadatafields{'customdistributionfile'}= |
$metadatafields{'customdistributionfile'}= |
$ENV{'form.customdistributionfile'}; |
$env{'form.customdistributionfile'}; |
$metadatafields{'sourceavail'}=$ENV{'form.sourceavail'}; |
$metadatafields{'sourceavail'}=$env{'form.sourceavail'}; |
$metadatafields{'obsolete'}=$ENV{'form.obsolete'}; |
$metadatafields{'obsolete'}=$env{'form.obsolete'}; |
$metadatafields{'obsoletereplacement'}= |
$metadatafields{'obsoletereplacement'}= |
$ENV{'form.obsoletereplacement'}; |
$env{'form.obsoletereplacement'}; |
$metadatafields{'dependencies'}=$ENV{'form.dependencies'}; |
$metadatafields{'dependencies'}=$env{'form.dependencies'}; |
$metadatafields{'modifyinguser'}=$ENV{'user.name'}.'@'. |
$metadatafields{'modifyinguser'}=$env{'user.name'}.'@'. |
$ENV{'user.domain'}; |
$env{'user.domain'}; |
$metadatafields{'authorspace'}=$cuname.'@'.$cudom; |
$metadatafields{'authorspace'}=$cuname.'@'.$cudom; |
|
|
my $allkeywords=$ENV{'form.addkey'}; |
my $allkeywords=$env{'form.addkey'}; |
if (exists($ENV{'form.keywords'})) { |
if (exists($env{'form.keywords'})) { |
if (ref($ENV{'form.keywords'})) { |
if (ref($env{'form.keywords'})) { |
$allkeywords .= ','.join(',',@{$ENV{'form.keywords'}}); |
$allkeywords .= ','.join(',',@{$env{'form.keywords'}}); |
} else { |
} else { |
$allkeywords .= ','.$ENV{'form.keywords'}; |
$allkeywords .= ','.$env{'form.keywords'}; |
} |
} |
} |
} |
$allkeywords=~s/[\"\']//g; |
$allkeywords=~s/[\"\']//g; |
Line 1651 sub notify {
|
Line 1656 sub notify {
|
|
|
sub batchpublish { |
sub batchpublish { |
my ($r,$srcfile,$targetfile)=@_; |
my ($r,$srcfile,$targetfile)=@_; |
#publication pollutes %ENV with form.* values |
#publication pollutes %env with form.* values |
my %oldENV=%ENV; |
my %oldenv=%env; |
$srcfile=~s/\/+/\//g; |
$srcfile=~s/\/+/\//g; |
$targetfile=~s/\/+/\//g; |
$targetfile=~s/\/+/\//g; |
my $thisdisfn=$srcfile; |
my $thisdisfn=$srcfile; |
Line 1680 sub batchpublish {
|
Line 1685 sub batchpublish {
|
$r->print('<p>'.$outstring.'</p>'); |
$r->print('<p>'.$outstring.'</p>'); |
# phase two takes |
# phase two takes |
# my ($source,$target,$style,$distarget,batch)=@_; |
# my ($source,$target,$style,$distarget,batch)=@_; |
# $ENV{'form.allmeta'},$ENV{'form.title'},$ENV{'form.author'},... |
# $env{'form.allmeta'},$env{'form.title'},$env{'form.author'},... |
if (!$error) { |
if (!$error) { |
$r->print('<p>'); |
$r->print('<p>'); |
&phasetwo($r,$srcfile,$targetfile,$thisembstyle,$thisdistarget,1); |
&phasetwo($r,$srcfile,$targetfile,$thisembstyle,$thisdistarget,1); |
$r->print('</p>'); |
$r->print('</p>'); |
} |
} |
%ENV=%oldENV; |
%env=%oldenv; |
return ''; |
return ''; |
} |
} |
|
|
Line 1703 sub publishdirectory {
|
Line 1708 sub publishdirectory {
|
&mt('Target').': <tt>'.$resdir.'</tt><br />'); |
&mt('Target').': <tt>'.$resdir.'</tt><br />'); |
|
|
my $dirptr=16384; # Mask indicating a directory in stat.cmode. |
my $dirptr=16384; # Mask indicating a directory in stat.cmode. |
|
unless ($env{'form.phase'} eq 'two') { |
opendir(DIR,$fn); |
# ask user what they want |
my @files=sort(readdir(DIR)); |
$r->print('<form name="pubdirpref" method="post">'. |
foreach my $filename (@files) { |
&hiddenfield('phase','two'). |
my ($cdev,$cino,$cmode,$cnlink, |
&hiddenfield('filename',$env{'form.filename'}). |
$cuid,$cgid,$crdev,$csize, |
&checkbox('pubrec','include subdirectories'). |
$catime,$cmtime,$cctime, |
&checkbox('forcerepub','force republication of previously published files')); |
$cblksize,$cblocks)=stat($fn.'/'.$filename); |
$r->print('<input type="submit" value="'.&mt('Publish Directory').'" /></form>'); |
|
} else { |
my $extension=''; |
# actually publish things |
if ($filename=~/\.(\w+)$/) { $extension=$1; } |
opendir(DIR,$fn); |
if ($cmode&$dirptr) { |
my @files=sort(readdir(DIR)); |
if (($filename!~/^\./) && ($ENV{'form.pubrec'})) { |
foreach my $filename (@files) { |
&publishdirectory($r,$fn.'/'.$filename,$thisdisfn.'/'.$filename); |
my ($cdev,$cino,$cmode,$cnlink, |
} |
$cuid,$cgid,$crdev,$csize, |
} elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') && |
$catime,$cmtime,$cctime, |
($filename!~/^[\#\.]/) && ($filename!~/\~$/)) { |
$cblksize,$cblocks)=stat($fn.'/'.$filename); |
|
|
|
my $extension=''; |
|
if ($filename=~/\.(\w+)$/) { $extension=$1; } |
|
if ($cmode&$dirptr) { |
|
if (($filename!~/^\./) && ($env{'form.pubrec'})) { |
|
&publishdirectory($r,$fn.'/'.$filename,$thisdisfn.'/'.$filename); |
|
} |
|
} elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') && |
|
($filename!~/^[\#\.]/) && ($filename!~/\~$/)) { |
# find out publication status and/or exiting metadata |
# find out publication status and/or exiting metadata |
my $publishthis=0; |
my $publishthis=0; |
if (-e $resdir.'/'.$filename) { |
if (-e $resdir.'/'.$filename) { |
my ($rdev,$rino,$rmode,$rnlink, |
my ($rdev,$rino,$rmode,$rnlink, |
$ruid,$rgid,$rrdev,$rsize, |
$ruid,$rgid,$rrdev,$rsize, |
$ratime,$rmtime,$rctime, |
$ratime,$rmtime,$rctime, |
$rblksize,$rblocks)=stat($resdir.'/'.$filename); |
$rblksize,$rblocks)=stat($resdir.'/'.$filename); |
if (($rmtime<$cmtime) || ($ENV{'form.forcerepub'} eq 'ON')) { |
if (($rmtime<$cmtime) || ($env{'form.forcerepub'})) { |
# previously published, modified now |
# previously published, modified now |
$publishthis=1; |
$publishthis=1; |
} |
} |
} else { |
} else { |
# never published |
# never published |
$publishthis=1; |
$publishthis=1; |
} |
} |
if ($publishthis) { |
if ($publishthis) { |
&batchpublish($r,$fn.'/'.$filename,$resdir.'/'.$filename); |
&batchpublish($r,$fn.'/'.$filename,$resdir.'/'.$filename); |
} else { |
} else { |
$r->print('<br />'.&mt('Skipping').' '.$filename.'<br />'); |
$r->print('<br />'.&mt('Skipping').' '.$filename.'<br />'); |
|
} |
|
$r->rflush(); |
} |
} |
$r->rflush(); |
|
} |
} |
|
closedir(DIR); |
} |
} |
closedir(DIR); |
|
} |
} |
|
|
######################################### |
######################################### |
Line 1861 sub handler {
|
Line 1876 sub handler {
|
@{$modified_urls}=(); |
@{$modified_urls}=(); |
# -------------------------------------------------------------- Check filename |
# -------------------------------------------------------------- Check filename |
|
|
my $fn=&Apache::lonnet::unescape($ENV{'form.filename'}); |
my $fn=&Apache::lonnet::unescape($env{'form.filename'}); |
|
|
($cuname,$cudom)= |
($cuname,$cudom)= |
&Apache::loncacc::constructaccess($fn,$r->dir_config('lonDefDomain')); |
&Apache::loncacc::constructaccess($fn,$r->dir_config('lonDefDomain')); |
Line 1880 sub handler {
|
Line 1895 sub handler {
|
|
|
unless (($cuname) && ($cudom)) { |
unless (($cuname) && ($cudom)) { |
$r->log_reason($cuname.' at '.$cudom. |
$r->log_reason($cuname.' at '.$cudom. |
' trying to publish file '.$ENV{'form.filename'}. |
' trying to publish file '.$env{'form.filename'}. |
' ('.$fn.') - not authorized', |
' ('.$fn.') - not authorized', |
$r->filename); |
$r->filename); |
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
Line 1892 sub handler {
|
Line 1907 sub handler {
|
foreach my $id (@ids) { if ($id eq $home) { $allowed = 1; } } |
foreach my $id (@ids) { if ($id eq $home) { $allowed = 1; } } |
unless ($allowed) { |
unless ($allowed) { |
$r->log_reason($cuname.' at '.$cudom. |
$r->log_reason($cuname.' at '.$cudom. |
' trying to publish file '.$ENV{'form.filename'}. |
' trying to publish file '.$env{'form.filename'}. |
' ('.$fn.') - not homeserver ('.$home.')', |
' ('.$fn.') - not homeserver ('.$home.')', |
$r->filename); |
$r->filename); |
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
Line 1906 sub handler {
|
Line 1921 sub handler {
|
if ($1 ne $cuname) { |
if ($1 ne $cuname) { |
$r->log_reason($cuname.' at '.$cudom. |
$r->log_reason($cuname.' at '.$cudom. |
' trying to publish unowned file '. |
' trying to publish unowned file '. |
$ENV{'form.filename'}.' ('.$fn.')', |
$env{'form.filename'}.' ('.$fn.')', |
$r->filename); |
$r->filename); |
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
} else { |
} else { |
Line 1917 sub handler {
|
Line 1932 sub handler {
|
unless (-e $fn) { |
unless (-e $fn) { |
$r->log_reason($cuname.' at '.$cudom. |
$r->log_reason($cuname.' at '.$cudom. |
' trying to publish non-existing file '. |
' trying to publish non-existing file '. |
$ENV{'form.filename'}.' ('.$fn.')', |
$env{'form.filename'}.' ('.$fn.')', |
$r->filename); |
$r->filename); |
return HTTP_NOT_FOUND; |
return HTTP_NOT_FOUND; |
} |
} |
|
|
unless ($ENV{'form.phase'} eq 'two') { |
unless ($env{'form.phase'} eq 'two') { |
|
|
# -------------------------------- File is there and owned, init lookup tables. |
# -------------------------------- File is there and owned, init lookup tables. |
|
|
Line 1976 sub handler {
|
Line 1991 sub handler {
|
if ($fn=~/\/$/) { |
if ($fn=~/\/$/) { |
# -------------------------------------------------------- This is a directory |
# -------------------------------------------------------- This is a directory |
&publishdirectory($r,$fn,$thisdisfn); |
&publishdirectory($r,$fn,$thisdisfn); |
$r->print('<hr><font size="+2">'.&mt('Done').'</font><br><a href="/priv/' |
$r->print('<hr /><a href="/priv/' |
.$cuname.'/'.$thisdisfn |
.$cuname.'/'.$thisdisfn |
.'">'.&mt('Return to Directory').'</a>'); |
.'">'.&mt('Return to Directory').'</a>'); |
|
|
Line 1996 ENDCAPTION
|
Line 2011 ENDCAPTION
|
$r->print('</tt></h2><b>'.&mt('Target').':</b> <tt>'. |
$r->print('</tt></h2><b>'.&mt('Target').':</b> <tt>'. |
$thisdistarget.'</tt><br />'); |
$thisdistarget.'</tt><br />'); |
|
|
if (($cuname ne $ENV{'user.name'})||($cudom ne $ENV{'user.domain'})) { |
if (($cuname ne $env{'user.name'})||($cudom ne $env{'user.domain'})) { |
$r->print('<h3><font color="red">'.&mt('Co-Author').': '. |
$r->print('<h3><font color="red">'.&mt('Co-Author').': '. |
$cuname.&mt(' at ').$cudom.'</font></h3>'); |
$cuname.&mt(' at ').$cudom.'</font></h3>'); |
} |
} |
Line 2011 ENDDIFF
|
Line 2026 ENDDIFF
|
|
|
# ------------------ Publishing from $thisfn to $thistarget with $thisembstyle. |
# ------------------ Publishing from $thisfn to $thistarget with $thisembstyle. |
|
|
unless ($ENV{'form.phase'} eq 'two') { |
unless ($env{'form.phase'} eq 'two') { |
# ---------------------------------------------------------- Parse for problems |
# ---------------------------------------------------------- Parse for problems |
my ($warningcount,$errorcount); |
my ($warningcount,$errorcount); |
if ($thisembstyle eq 'ssi') { |
if ($thisembstyle eq 'ssi') { |