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

version 1.182, 2006/10/06 19:12:22 version 1.185, 2006/10/23 21:09:21
Line 469  sub prettyprint { Line 469  sub prettyprint {
  ($type eq 'sequsage_list') ||   ($type eq 'sequsage_list') ||
  ($type eq 'dependencies')) {   ($type eq 'dependencies')) {
  return '<font size="-1"><ul>'.join("\n",map {   return '<font size="-1"><ul>'.join("\n",map {
             my $url = &Apache::lonnet::clutter($_);              my $url = &Apache::lonnet::clutter_with_no_wrapper($_);
             my $title = &Apache::lonnet::gettitle($url);              my $title = &Apache::lonnet::gettitle($url);
             if ($title eq '') {              if ($title eq '') {
                 $title = 'Untitled';                  $title = 'Untitled';
Line 829  sub present_uneditable_metadata { Line 829  sub present_uneditable_metadata {
     # displayed url      # displayed url
     my ($thisversion)=($uri=~/\.(\d+)\.(\w+)\.meta$/);      my ($thisversion)=($uri=~/\.(\d+)\.(\w+)\.meta$/);
     $uri=~s/\.meta$//;      $uri=~s/\.meta$//;
     my $disuri=&Apache::lonnet::clutter($uri);      my $disuri=&Apache::lonnet::clutter_with_no_wrapper($uri);
     $disuri=~s/^\/adm\/wrapper//;  
     # version      # version
     my $versiondisplay='';      my $versiondisplay='';
     if (!$uploaded) {      if (!$uploaded) {
Line 1193  ENDEDIT Line 1192  ENDEDIT
  my $output;   my $output;
  my @fields;   my @fields;
  my $added_metadata_fields;   my $added_metadata_fields;
    my @added_order;
  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',
     'notes','lowestgradelevel',      'notes','lowestgradelevel',
                     'highestgradelevel','standards');                      'highestgradelevel','standards');
         $added_metadata_fields = &Apache::lonparmset::get_added_meta_fieldnames();          $added_metadata_fields = &Apache::lonparmset::get_added_meta_fieldnames();
         $env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'} = join (",",@fields);          if ($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);
     }      }
  } 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 1245  ENDEDIT Line 1248  ENDEDIT
  $r->print("This resource is not associated with a course.<br />");   $r->print("This resource is not associated with a course.<br />");
     }      }
  }   }
         foreach my $field_name(keys (%$added_metadata_fields)) {   if (@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 {
               foreach my $field_name (keys(%$added_metadata_fields)) {
                   push(@fields,$field_name);
                   $lt{$field_name} = $$added_metadata_fields{$field_name};
               }
         }          }
         foreach my $field_name (@fields) {          foreach my $field_name (@fields) {
             if (defined($env{'form.new_'.$field_name})) {              if (defined($env{'form.new_'.$field_name})) {
Line 1271  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 1285  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 1293  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 1316  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.182  
changed lines
  Added in v.1.185


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