--- loncom/interface/lonmeta.pm 2003/12/31 15:34:32 1.53 +++ loncom/interface/lonmeta.pm 2004/01/04 00:28:22 1.57 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.53 2003/12/31 15:34:32 www Exp $ +# $Id: lonmeta.pm,v 1.57 2004/01/04 00:28:22 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -212,6 +212,8 @@ sub fieldnames { return &Apache::lonlocal::texthash( 'title' => 'Title', 'author' =>'Author(s)', + 'authorspace' => 'Author Space', + 'modifyinguser' => 'Last Modifying User', 'subject' => 'Subject', 'keywords' => 'Keyword(s)', 'notes' => 'Notes', @@ -260,8 +262,9 @@ sub prettyprint { # Dates if (($type eq 'creationdate') || ($type eq 'lastrevisiondate')) { - return &Apache::lonlocal::locallocaltime( - &Apache::lonmysql::unsqltime($value)); + return ($value?&Apache::lonlocal::locallocaltime( + &Apache::lonmysql::unsqltime($value)): + &mt('not available')); } # Language if ($type eq 'language') { @@ -329,8 +332,13 @@ sub prettyprint { } # ============================================== Pretty input of metadata field +sub direct { + return shift; +} + sub selectbox { my ($name,$value,$functionref,@idlist)=@_; + unless (defined($functionref)) { $functionref=\&direct; } my $selout=''; +} sub prettyinput { - my ($type,$value,$fieldname,$formname)=@_; + my ($type,$value,$fieldname,$formname, + $relatedsearchflag,$relatedsep,$relatedvalue)=@_; # Language if ($type eq 'language') { return &selectbox($fieldname, $value, \&Apache::loncommon::languagedescription, - (&Apache::loncommon::languageids)); + (&Apache::loncommon::languageids)). + &relatedfield(0,$relatedsearchflag,$relatedsep); } # Copyright if ($type eq 'copyright') { return &selectbox($fieldname, $value, \&Apache::loncommon::copyrightdescription, - (&Apache::loncommon::copyrightids)); + (&Apache::loncommon::copyrightids)). + &relatedfield(0,$relatedsearchflag,$relatedsep); } # Gradelevels if (($type eq 'lowestgradelevel') || ($type eq 'highestgradelevel')) { - return &Apache::loncommon::select_level_form($value,$fieldname); + return &Apache::loncommon::select_level_form($value,$fieldname). + &relatedfield(0,$relatedsearchflag,$relatedsep); } # Obsolete if ($type eq 'obsolete') { return ''; + ($value?' checked="1"':'').' />'. + &relatedfield(0,$relatedsearchflag,$relatedsep); } # Obsolete replacement file if ($type eq 'obsoletereplacement') { return '".&mt('Select').''; + ",'')\">".&mt('Select').''. + &relatedfield(0,$relatedsearchflag,$relatedsep); } # Customdistribution file if ($type eq 'customdistributionfile') { return '".&mt('Select').''; + ",'rights')\">".&mt('Select').''. + &relatedfield(0,$relatedsearchflag,$relatedsep); } # Dates if (($type eq 'creationdate') || ($type eq 'lastrevisiondate')) { return &Apache::lonhtmlcommon::date_setter($formname, - $fieldname,$value); + $fieldname,$value). + &relatedfield(0,$relatedsearchflag,$relatedsep); } # No pretty input found $value=~s/^\s+//gs; $value=~s/\s+$//gs; $value=~s/\s+/ /gs; $value=~s/\"/\&quod\;/gs; - return ''; + return + ''. + &relatedfield(1,$relatedsearchflag,$relatedsep,$fieldname,$relatedvalue); } # ================================================================ Main Handler @@ -630,7 +656,9 @@ ENDEDIT 'copyright','customdistributionfile','language','standards', 'lowestgradelevel','highestgradelevel', 'obsolete','obsoletereplacement') { - $Apache::lonpublisher::metadatafields{$_}=$ENV{'form.new_'.$_}; + if (defined($ENV{'form.new_'.$_})) { + $Apache::lonpublisher::metadatafields{$_}=$ENV{'form.new_'.$_}; + } unless ($Apache::lonpublisher::metadatafields{'copyright'}) { $Apache::lonpublisher::metadatafields{'copyright'}='default'; }