--- loncom/interface/lonmeta.pm 2002/10/20 18:40:00 1.23 +++ loncom/interface/lonmeta.pm 2003/03/14 02:26:12 1.27 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.23 2002/10/20 18:40:00 www Exp $ +# $Id: lonmeta.pm,v 1.27 2003/03/14 02:26:12 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -98,6 +98,23 @@ sub dynamicmeta { return %returnhash; } +# ------------------------------------- Try to make an alt tag if there is none + +sub alttag { + my ($base,$src)=@_; + my $fullpath=&Apache::lonnet::hreflocation($base,$src); + my $alttag=&Apache::lonnet::metadata($fullpath,'title').' '. + &Apache::lonnet::metadata($fullpath,'subject').' '. + &Apache::lonnet::metadata($fullpath,'abstract'); + $alttag=~s/\s+/ /gs; + $alttag=~s/\"//gs; + $alttag=~s/\'//gs; + $alttag=~s/\s+$//gs; + $alttag=~s/^\s+//gs; + if ($alttag) { return $alttag; } else + { return 'No information available'; } +} + # -------------------------------------------------------------- Pretty display sub evalgraph { @@ -360,13 +377,49 @@ $dynmeta{$_}." \n"); Edit Catalog Information $bodytag

$displayfile

+
ENDEDIT - foreach (keys %Apache::lonpublisher::metadatafields) { - $r->print('
'.$_.' '.$Apache::lonpublisher::metadatafields{$_}); + foreach ('author','title','subject','keywords','abstract','notes', + 'copyright','customdistributionfile','language') { + if ($ENV{'form.new_'.$_}) { + $Apache::lonpublisher::metadatafields{$_}=$ENV{'form.new_'.$_}; + } + $r->print( + &Apache::lonpublisher::textfield($_,'new_'.$_, + $Apache::lonpublisher::metadatafields{$_})); } - } - $r->print(''); - return OK; + if ($ENV{'form.store'}) { + my $mfh; + unless ($mfh=Apache::File->new('>'.$fn)) { + $r->print( + '

Could not write metadata, FAIL'); + } else { + foreach (sort keys %Apache::lonpublisher::metadatafields) { + unless ($_=~/\./) { + my $unikey=$_; + $unikey=~/^([A-Za-z]+)/; + my $tag=$1; + $tag=~tr/A-Z/a-z/; + print $mfh "\n\<$tag"; + foreach + (split(/\,/,$Apache::lonpublisher::metadatakeys{$unikey})) { + my $value= + $Apache::lonpublisher::metadatafields{$unikey.'.'.$_}; + $value=~s/\"/\'\'/g; + print $mfh ' '.$_.'="'.$value.'"'; + } + print $mfh '>'. + &HTML::Entities::encode($Apache::lonpublisher::metadatafields{$unikey}) + .''; + } + } + $r->print('

Wrote Metadata'); + } + } + $r->print( + '

'); + return OK; + } } 1;