--- loncom/publisher/lonpublisher.pm 2001/12/04 15:34:57 1.54 +++ loncom/publisher/lonpublisher.pm 2001/12/06 18:56:14 1.62 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Publication Handler # -# $Id: lonpublisher.pm,v 1.54 2001/12/04 15:34:57 albertel Exp $ +# $Id: lonpublisher.pm,v 1.62 2001/12/06 18:56:14 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 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=~/[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.='[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 { @@ -490,6 +513,7 @@ sub publish { &hiddenfield('phase','two'). &hiddenfield('filename',$ENV{'form.filename'}). &hiddenfield('allmeta',&Apache::lonnet::escape($allmeta)). + &hiddenfield('dependencies',join(',',keys %allow)). &textfield('Title','title',$metadatafields{'title'}). &textfield('Author(s)','author',$metadatafields{'author'}). &textfield('Subject','subject',$metadatafields{'subject'}); @@ -611,6 +635,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 {