--- loncom/interface/lonmeta.pm 2003/12/29 19:01:27 1.47 +++ loncom/interface/lonmeta.pm 2003/12/30 20:39:30 1.50 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.47 2003/12/29 19:01:27 www Exp $ +# $Id: lonmeta.pm,v 1.50 2003/12/30 20:39:30 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,6 +37,7 @@ use Apache::lonmsg; use Apache::lonpublisher; use Apache::lonlocal; use Apache::lonmysql; +use Apache::lonmsg; # MySQL table columns @@ -283,6 +284,11 @@ sub prettyprint { $value=~s/(\w+)(\:|\@)(\w+)/&authordisplay($1,$3)/gse; return $value; } +# Gradelevel + if (($type eq 'lowestgradelevel') || + ($type eq 'highestgradelevel')) { + return &Apache::loncommon::gradeleveldescription($value); + } # Only for advance users below unless ($ENV{'user.adv'}) { return '- '.&mt('not displayed').' -' }; # File @@ -322,8 +328,72 @@ sub prettyprint { } # ============================================== Pretty input of metadata field +sub selectbox { + my ($name,$value,$functionref,@idlist)=@_; + my $selout=''; +} + + sub prettyinput { - my ($type,$value,$fieldname)=@_; + my ($type,$value,$fieldname,$formname)=@_; +# Language + if ($type eq 'language') { + return &selectbox($fieldname, + $value, + \&Apache::loncommon::languagedescription, + (&Apache::loncommon::languageids)); + } +# Copyright + if ($type eq 'copyright') { + return &selectbox($fieldname, + $value, + \&Apache::loncommon::copyrightdescription, + (&Apache::loncommon::copyrightids)); + } +# Gradelevels + if (($type eq 'lowestgradelevel') || + ($type eq 'highestgradelevel')) { + return &Apache::loncommon::select_level_form($value,$fieldname); + } +# Obsolete + if ($type eq 'obsolete') { + return ''; + } +# Obsolete replacement file + if ($type eq 'obsoletereplacement') { + return '".&mt('Select').''; + } +# Customdistribution file + if ($type eq 'customdistributionfile') { + return '".&mt('Select').''; + } +# Dates + if (($type eq 'creationdate') || + ($type eq 'lastrevisiondate')) { + return &Apache::lonhtmlcommon::date_setter($formname, + $fieldname,$value); + } +# No pretty input found + $value=~s/^\s+//gs; + $value=~s/\s+$//gs; + $value=~s/\s+/ /gs; + $value=~s/\"/\&quod\;/gs; + return ''; } # ================================================================ Main Handler @@ -363,8 +433,8 @@ sub handler { # --------------------------------------------------------------- Render Output # displayed url my ($thisversion)=($uri=~/\.(\d+)\.(\w+)\.meta$/); + $uri=~s/\.meta$//; my $disuri=&Apache::lonnet::clutter($uri); - $disuri=~s/\.meta$//; $disuri=&Apache::lonhtmlcommon::crumbs($disuri); # version my $currentversion=&Apache::lonnet::getversion($disuri); @@ -456,22 +526,15 @@ ENDHEAD &prettyprint($dynmeta{$_})."\n"); } $r->print(''); - $disuri=~/^(\w+)\/(\w+)\//; + $uri=~/^\/res\/(\w+)\/(\w+)\//; if ((($ENV{'user.domain'} eq $1) && ($ENV{'user.name'} eq $2)) || ($ENV{'user.role.ca./'.$1.'/'.$2})) { - $r->print( - '

'.&mt('Evaluation Comments').' ('.&mt('visible to author and co-authors only').')

'. + $r->print('

'.&mt('Evaluation Comments').' ('. + &mt('visible to author and co-authors only').')

'. '
'.$dynmeta{'comments'}.'
'); $r->print('

'.&mt('Error Messages').' ('. - &mt('visible to author and co-authors only').')

'); - my %errormsgs=&Apache::lonnet::dump('nohist_res_msgs',$1,$2); - foreach (keys %errormsgs) { - if ($_=~/^\Q$disuri\E\_\d+$/) { - my %content=&Apache::lonmsg::unpackagemsg($errormsgs{$_}); - $r->print(''.$content{'time'}.': '.$content{'message'}. - '
'); - } - } + &mt('visible to author and co-authors only').')'. + &Apache::lonmsg::retrieve_author_res_msg($2,$1,$uri)); } # ------------------------------------------------------------- All other stuff $r->print( @@ -526,30 +589,23 @@ ENDHEAD Edit Catalog Information $bodytag

$displayfile

-
+ ENDEDIT + $r->print(''); my %lt=&fieldnames(); foreach ('author','title','subject','keywords','abstract','notes', - 'copyright','customdistributionfile','language', + 'copyright','customdistributionfile','language','standards', + 'lowestgradelevel','highestgradelevel', 'obsolete','obsoletereplacement') { - if ($ENV{'form.new_'.$_}) { - $Apache::lonpublisher::metadatafields{$_}=$ENV{'form.new_'.$_}; - } - if (m/copyright/) { - $r->print(&Apache::lonpublisher::selectbox($lt{$_},'new_'.$_, - ($Apache::lonpublisher::metadatafields{$_}? - $Apache::lonpublisher::metadatafields{$_}:'default'), - \&Apache::loncommon::copyrightdescription, - (&Apache::loncommon::copyrightids))); - } elsif (m/language/) { - $r->print(&Apache::lonpublisher::selectbox($lt{$_},'new_'.$_, - $Apache::lonpublisher::metadatafields{$_}, - \&Apache::loncommon::languagedescription, - (&Apache::loncommon::languageids))); - } else { - $r->print(&Apache::lonpublisher::textfield($lt{$_},'new_'.$_, - $Apache::lonpublisher::metadatafields{$_})); + $Apache::lonpublisher::metadatafields{$_}=$ENV{'form.new_'.$_}; + unless ($Apache::lonpublisher::metadatafields{'copyright'}) { + $Apache::lonpublisher::metadatafields{'copyright'}='default'; } + $r->print('

'.$lt{$_}.': '.&prettyinput($_, + $Apache::lonpublisher::metadatafields{$_}, + 'new_'.$_,'defaultmeta').'

'); } if ($ENV{'form.store'}) { my $mfh;