Diff for /loncom/interface/lonmeta.pm between versions 1.184 and 1.185

version 1.184, 2006/10/23 20:53:46 version 1.185, 2006/10/23 21:09:21
Line 1196  ENDEDIT Line 1196  ENDEDIT
  if ($file_type eq 'portfolio' || $file_type eq 'groups') {   if ($file_type eq 'portfolio' || $file_type eq 'groups') {
     if(exists ($env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'})) {      if(exists ($env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'})) {
         # retrieve fieldnames (in order) from the course restricted list          # retrieve fieldnames (in order) from the course restricted list
         @fields = (split /,/,$env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'});          @fields = (split(/,/,$env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'}));
     } else {      } else {
         # no saved field list, use default list          # no saved field list, use default list
         @fields =  ('author','title','subject','keywords','abstract',          @fields =  ('author','title','subject','keywords','abstract',
Line 1204  ENDEDIT Line 1204  ENDEDIT
                     'highestgradelevel','standards');                      'highestgradelevel','standards');
         $added_metadata_fields = &Apache::lonparmset::get_added_meta_fieldnames();          $added_metadata_fields = &Apache::lonparmset::get_added_meta_fieldnames();
         if ($env{'course.'.$env{'request.course.id'}.'.metadata.addedorder'}) {          if ($env{'course.'.$env{'request.course.id'}.'.metadata.addedorder'}) {
             @added_order = split /,/,$env{'course.'.$env{'request.course.id'}.'.metadata.addedorder'};              @added_order = split(/,/,$env{'course.'.$env{'request.course.id'}.'.metadata.addedorder'});
         }          }
         $env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'} = join (",",@fields);          $env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'} = join(",",@fields);
     }      }
  } else {   } else {
     @fields = ('author','title','subject','keywords','abstract','notes',      @fields = ('author','title','subject','keywords','abstract','notes',
                  'copyright','customdistributionfile','language',         'copyright','customdistributionfile','language',
                  'standards',         'standards',
                  'lowestgradelevel','highestgradelevel','sourceavail','sourcerights',         'lowestgradelevel','highestgradelevel','sourceavail','sourcerights',
                  'obsolete','obsoletereplacement');         'obsolete','obsoletereplacement');
         }          }
         if ($file_type eq 'groups') {          if ($file_type eq 'groups') {
             $Apache::lonpublisher::metadatafields{'courserestricted'}=              $Apache::lonpublisher::metadatafields{'courserestricted'}=
Line 1249  ENDEDIT Line 1249  ENDEDIT
     }      }
  }   }
  if (@added_order) {   if (@added_order) {
     foreach my $field_name(@added_order) {      foreach my $field_name (@added_order) {
                 push (@fields,$field_name);                  push(@fields,$field_name);
                 $lt{$field_name} = $$added_metadata_fields{$field_name};                  $lt{$field_name} = $$added_metadata_fields{$field_name};
     }      }
  } else {   } else {
             foreach my $field_name(keys (%$added_metadata_fields)) {              foreach my $field_name (keys(%$added_metadata_fields)) {
                 push (@fields,$field_name);                  push(@fields,$field_name);
                 $lt{$field_name} = $$added_metadata_fields{$field_name};                  $lt{$field_name} = $$added_metadata_fields{$field_name};
             }              }
         }          }
Line 1280  ENDEDIT Line 1280  ENDEDIT
             } else {              } else {
   
                     $output.=('<p>'.$lt{$field_name}.': '.                      $output.=('<p>'.$lt{$field_name}.': '.
                             &prettyinput($field_name,        &prettyinput($field_name,
    $Apache::lonpublisher::metadatafields{$field_name},     $Apache::lonpublisher::metadatafields{$field_name},
    'new_'.$field_name,'defaultmeta').'</p>');     'new_'.$field_name,'defaultmeta').'</p>');
                                 
             }              }
         }          }
Line 1294  ENDEDIT Line 1294  ENDEDIT
  $Apache::lonpublisher::metadatafields{'keywords'} =    $Apache::lonpublisher::metadatafields{'keywords'} = 
     join (',', &Apache::loncommon::get_env_multiple('form.new_keywords'));      join (',', &Apache::loncommon::get_env_multiple('form.new_keywords'));
     }      }
     foreach my $field (sort keys %Apache::lonpublisher::metadatafields) {      foreach my $field (sort(keys(%Apache::lonpublisher::metadatafields))) {
  next if ($field =~ /\./);   next if ($field =~ /\./);
  my $unikey=$field;   my $unikey=$field;
  $unikey=~/^([A-Za-z_]+)/;   $unikey=~/^([A-Za-z_]+)/;
Line 1302  ENDEDIT Line 1302  ENDEDIT
  $tag=~tr/A-Z/a-z/;   $tag=~tr/A-Z/a-z/;
  $file_content.= "\n\<$tag";   $file_content.= "\n\<$tag";
  foreach my $key (split(/\,/,   foreach my $key (split(/\,/,
        $Apache::lonpublisher::metadatakeys{$unikey})         $Apache::lonpublisher::metadatakeys{$unikey})
  ) {   ) {
     my $value=      my $value=
  $Apache::lonpublisher::metadatafields{$unikey.'.'.$key};   $Apache::lonpublisher::metadatafields{$unikey.'.'.$key};
     $value=~s/\"/\'\'/g;      $value=~s/\"/\'\'/g;
Line 1325  ENDEDIT Line 1325  ENDEDIT
                 $r->print(&store_portfolio_metadata($formname,$file_content,$path,                  $r->print(&store_portfolio_metadata($formname,$file_content,$path,
                                                     $new_fn));                                                      $new_fn));
             } else {              } else {
  if (!  ($mfh=Apache::File->new('>'.$fn))) {   if (! ($mfh=Apache::File->new('>'.$fn))) {
     $r->print('<p><font color="red">'.      $r->print('<p><font color="red">'.
       &mt('Could not write metadata').', '.        &mt('Could not write metadata').', '.
       &mt('FAIL').'</font></p>');        &mt('FAIL').'</font></p>');
  } else {   } else {
     print $mfh $file_content;      print $mfh ($file_content);
     $r->print('<p><font color="blue">'.&mt('Wrote Metadata').      $r->print('<p><font color="blue">'.&mt('Wrote Metadata').
       ' '.&Apache::lonlocal::locallocaltime(time).        ' '.&Apache::lonlocal::locallocaltime(time).
       '</font></p>');        '</font></p>');

Removed from v.1.184  
changed lines
  Added in v.1.185


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>