--- loncom/publisher/lonpublisher.pm 2001/12/04 18:10:37 1.55
+++ loncom/publisher/lonpublisher.pm 2001/12/07 22:37:56 1.64
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.55 2001/12/04 18:10:37 sakharuk Exp $
+# $Id: lonpublisher.pm,v 1.64 2001/12/07 22:37:56 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -37,6 +37,10 @@
# 05/03,05/05,05/07 Gerd Kortemeyer
# 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
+# 12/04,12/05 Guy Albertelli
+# 12/05 Gerd Kortemeyer
+# 12/05 Guy Albertelli
+# 12/06,12/07 Gerd Kortemeyer
package Apache::lonpublisher;
@@ -256,7 +260,7 @@ sub publish {
if ($token->[0] eq 'S') {
my $counter;
my $tag=$token->[1];
- my $lctag=$tag;$lctag=~s/[A-Z]/[a-z]/g;
+ my $lctag=lc($tag);
unless ($lctag eq 'allow') {
my %parms=%{$token->[2]};
$counter=$addid{$tag};
@@ -331,36 +335,55 @@ sub publish {
$newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote;
}
} keys %parms;
-
+ if (!$endtag) { if ($token->[4]=~m:/>$:) { $endtag=' /'; }; }
$outstring.='<'.$tag.$newparmstring.$endtag.'>';
} else {
$allow{$token->[2]->{'src'}}=1;
}
} elsif ($token->[0] eq 'E') {
+ if ($token->[2]) {
unless ($token->[1] eq 'allow') {
$outstring.=''.$token->[1].'>';
}
+ }
} else {
$outstring.=$token->[1];
}
}
# ------------------------------------------------------------ Construct Allows
- unless ($style eq 'rat') {
+
$scrout.='
Dependencies
';
- my $allowstr="\n";
+ my $allowstr='';
map {
- $allowstr.=''."\n";
+ my $thisdep=$_;
+ unless ($style eq 'rat') {
+ $allowstr.="\n".'';
+ }
$scrout.=' ';
- unless ($_=~/\*/) {
- $scrout.='';
+ unless ($thisdep=~/\*/) {
+ $scrout.='';
}
- $scrout.=''.$_.'';
- unless ($_=~/\*/) {
+ $scrout.=''.$thisdep.'';
+ unless ($thisdep=~/\*/) {
$scrout.='';
+ if (
+ &Apache::lonnet::getfile($Apache::lonnet::perlvar{'lonDocRoot'}.'/'.
+ $thisdep.'.meta') eq '-1') {
+ $scrout.=
+ ' - Currently not available';
+ } 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;
$outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;
- }
+
# ------------------------------------------------------------- Write modified
{
@@ -487,9 +510,11 @@ sub publish {
$scrout.=
'';
+ '';
}
# -------------------------------------------------------- Publication Step Two
@@ -611,6 +636,7 @@ sub phasetwo {
$metadatafields{'lastrevisiondate'}=$ENV{'form.lastrevisiondate'};
$metadatafields{'owner'}=$ENV{'form.owner'};
$metadatafields{'copyright'}=$ENV{'form.copyright'};
+ $metadatafields{'dependencies'}=$ENV{'form.dependencies'};
my $allkeywords=$ENV{'form.addkey'};
map {
@@ -649,23 +675,15 @@ sub phasetwo {
}
# -------------------------------- Synchronize entry with SQL metadata database
- my %perlvar;
- open (CONFIG,"/etc/httpd/conf/access.conf") || die "Can't read access.conf";
- my $configline;
- while ($configline=) {
- if ($configline =~ /PerlSetVar/) {
- my ($dummy,$varname,$varvalue)=split(/\s+/,$configline);
- chomp($varvalue);
- $perlvar{$varname}=$varvalue;
- }
- }
- close(CONFIG);
+ my $warning;
+
+ unless ($metadatafields{'copyright'} eq 'priv') {
- my $warning;
my $dbh;
{
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='WARNING: Cannot connect to '.
'database!';
@@ -710,7 +728,10 @@ sub phasetwo {
}
}
-
+} else {
+ $scrout.='
Private Publication - did not synchronize database';
+ print $logfile "\nPrivate: Did not ynchronized SQL metadata database";
+}
# ----------------------------------------------------------- Copy old versions
if (-e $target) {