version 1.56, 2001/12/05 15:40:31
|
version 1.64, 2001/12/07 22:37:56
|
Line 37
|
Line 37
|
# 05/03,05/05,05/07 Gerd Kortemeyer |
# 05/03,05/05,05/07 Gerd Kortemeyer |
# 05/28/2001 Scott Harrison |
# 05/28/2001 Scott Harrison |
# 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26,10/16 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 |
|
|
package Apache::lonpublisher; |
package Apache::lonpublisher; |
|
|
Line 331 sub publish {
|
Line 335 sub publish {
|
$newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote; |
$newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote; |
} |
} |
} keys %parms; |
} keys %parms; |
|
if (!$endtag) { if ($token->[4]=~m:/>$:) { $endtag=' /'; }; } |
$outstring.='<'.$tag.$newparmstring.$endtag.'>'; |
$outstring.='<'.$tag.$newparmstring.$endtag.'>'; |
} else { |
} else { |
$allow{$token->[2]->{'src'}}=1; |
$allow{$token->[2]->{'src'}}=1; |
} |
} |
} elsif ($token->[0] eq 'E') { |
} elsif ($token->[0] eq 'E') { |
|
if ($token->[2]) { |
unless ($token->[1] eq 'allow') { |
unless ($token->[1] eq 'allow') { |
$outstring.='</'.$token->[1].'>'; |
$outstring.='</'.$token->[1].'>'; |
} |
} |
|
} |
} else { |
} else { |
$outstring.=$token->[1]; |
$outstring.=$token->[1]; |
} |
} |
} |
} |
# ------------------------------------------------------------ Construct Allows |
# ------------------------------------------------------------ Construct Allows |
unless ($style eq 'rat') { |
|
$scrout.='<h3>Dependencies</h3>'; |
$scrout.='<h3>Dependencies</h3>'; |
my $allowstr="\n"; |
my $allowstr=''; |
map { |
map { |
$allowstr.='<allow src="'.$_.'" />'."\n"; |
my $thisdep=$_; |
|
unless ($style eq 'rat') { |
|
$allowstr.="\n".'<allow src="'.$thisdep.'" />'; |
|
} |
$scrout.='<br>'; |
$scrout.='<br>'; |
unless ($_=~/\*/) { |
unless ($thisdep=~/\*/) { |
$scrout.='<a href="'.$_.'">'; |
$scrout.='<a href="'.$thisdep.'">'; |
} |
} |
$scrout.='<tt>'.$_.'</tt>'; |
$scrout.='<tt>'.$thisdep.'</tt>'; |
unless ($_=~/\*/) { |
unless ($thisdep=~/\*/) { |
$scrout.='</a>'; |
$scrout.='</a>'; |
|
if ( |
|
&Apache::lonnet::getfile($Apache::lonnet::perlvar{'lonDocRoot'}.'/'. |
|
$thisdep.'.meta') eq '-1') { |
|
$scrout.= |
|
' - <font color=red>Currently not available</font>'; |
|
} else { |
|
my %temphash=(&Apache::lonnet::declutter($target).'___'. |
|
&Apache::lonnet::declutter($thisdep).'___usage' |
|
=> time); |
|
$thisdep=~/^\/res\/(\w+)\/(\w+)\//; |
|
if ((defined($1)) && (defined($2))) { |
|
&Apache::lonnet::put('resevaldata',\%temphash,$1,$2); |
|
} |
|
} |
} |
} |
} keys %allow; |
} keys %allow; |
$outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s; |
$outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s; |
} |
|
# ------------------------------------------------------------- Write modified |
# ------------------------------------------------------------- Write modified |
|
|
{ |
{ |
Line 487 sub publish {
|
Line 510 sub publish {
|
|
|
$scrout.= |
$scrout.= |
'<form action="/adm/publish" method="post">'. |
'<form action="/adm/publish" method="post">'. |
|
'<p><input type="submit" value="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)). |
&textfield('Title','title',$metadatafields{'title'}). |
&textfield('Title','title',$metadatafields{'title'}). |
&textfield('Author(s)','author',$metadatafields{'author'}). |
&textfield('Author(s)','author',$metadatafields{'author'}). |
&textfield('Subject','subject',$metadatafields{'subject'}); |
&textfield('Subject','subject',$metadatafields{'subject'}); |
Line 577 sub publish {
|
Line 602 sub publish {
|
$metadatafields{'copyright'},%cprtag); |
$metadatafields{'copyright'},%cprtag); |
|
|
return $scrout. |
return $scrout. |
'<p><input type="submit" value="Finalize Publication"></form>'; |
'<p><input type="submit" value="Finalize Publication" /></p></form>'; |
} |
} |
|
|
# -------------------------------------------------------- Publication Step Two |
# -------------------------------------------------------- Publication Step Two |
Line 611 sub phasetwo {
|
Line 636 sub phasetwo {
|
$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{'dependencies'}=$ENV{'form.dependencies'}; |
|
|
my $allkeywords=$ENV{'form.addkey'}; |
my $allkeywords=$ENV{'form.addkey'}; |
map { |
map { |
Line 649 sub phasetwo {
|
Line 675 sub phasetwo {
|
} |
} |
|
|
# -------------------------------- Synchronize entry with SQL metadata database |
# -------------------------------- Synchronize entry with SQL metadata database |
my %perlvar; |
my $warning; |
open (CONFIG,"/etc/httpd/conf/access.conf") || die "Can't read access.conf"; |
|
my $configline; |
unless ($metadatafields{'copyright'} eq 'priv') { |
while ($configline=<CONFIG>) { |
|
if ($configline =~ /PerlSetVar/) { |
|
my ($dummy,$varname,$varvalue)=split(/\s+/,$configline); |
|
chomp($varvalue); |
|
$perlvar{$varname}=$varvalue; |
|
} |
|
} |
|
close(CONFIG); |
|
|
|
my $warning; |
|
my $dbh; |
my $dbh; |
{ |
{ |
unless ( |
unless ( |
$dbh = DBI->connect("DBI:mysql:loncapa","www",$perlvar{'lonSqlAccess'},{ RaiseError =>0,PrintError=>0}) |
$dbh = DBI->connect("DBI:mysql:loncapa","www", |
|
$Apache::lonnet::perlvar{'lonSqlAccess'},{ RaiseError =>0,PrintError=>0}) |
) { |
) { |
$warning='<font color=red>WARNING: Cannot connect to '. |
$warning='<font color=red>WARNING: Cannot connect to '. |
'database!</font>'; |
'database!</font>'; |
Line 710 sub phasetwo {
|
Line 728 sub phasetwo {
|
} |
} |
} |
} |
|
|
|
} else { |
|
$scrout.='<p>Private Publication - did not synchronize database'; |
|
print $logfile "\nPrivate: Did not ynchronized SQL metadata database"; |
|
} |
# ----------------------------------------------------------- Copy old versions |
# ----------------------------------------------------------- Copy old versions |
|
|
if (-e $target) { |
if (-e $target) { |