Diff for /loncom/interface/lonmeta.pm between versions 1.193 and 1.199

version 1.193, 2007/01/02 19:38:17 version 1.199, 2007/01/16 07:26:45
Line 598  sub prettyinput { Line 598  sub prettyinput {
                 if ($meta_options{$item}) {                  if ($meta_options{$item}) {
                     push(@cur_values_inst,$item);                      push(@cur_values_inst,$item);
                 } else {                  } else {
                     $cur_values_stu .= $item.',';                      if ($item ne 'Not Specified') {
                           $cur_values_stu .= $item.',';
                       }
                 }                  }
             }              }
               my @key_order = sort(keys(%meta_options));
               unshift (@key_order,'Not Specified');
               $meta_options{'Not Specified'} = 'Not Specified';
               $meta_options{'select_form_order'} = \@key_order;
         } else {          } else {
             $cur_values_stu = $value;              $cur_values_stu = $value;
         }          }
Line 608  sub prettyinput { Line 614  sub prettyinput {
             return (&select_course());              return (&select_course());
             # return ('<input type="hidden" name="new_courserestricted" value="'.$course_key.'" />');              # return ('<input type="hidden" name="new_courserestricted" value="'.$course_key.'" />');
         }          }
         my $course = $env{'request.course.id'};  
         if (($type eq 'keywords') || ($type eq 'subject')          if (($type eq 'keywords') || ($type eq 'subject')
              || ($type eq 'author')||($type eq  'notes')               || ($type eq 'author')||($type eq  'notes')
              || ($type eq  'abstract')|| ($type eq  'title')|| ($type eq  'standards')               || ($type eq  'abstract')|| ($type eq  'title')|| ($type eq  'standards')
              || (exists($env{'course.'.$env{'request.course.id'}.'.metadata.'.$type.'.added'}))) {               || (exists($env{$course_key.'.metadata.'.$type.'.added'}))) {
               
             if ($values) {              if ($values) {
                 if ($only_one) {                  if ($only_one) {
                     $output .= (&Apache::loncommon::select_form($cur_values_inst[0],'new_'.$type,%meta_options));                      $output .= (&Apache::loncommon::select_form($cur_values_inst[0],'new_'.$type,%meta_options));
Line 750  sub handler { Line 756  sub handler {
             %Apache::lonpublisher::metadatakeys=();              %Apache::lonpublisher::metadatakeys=();
             my $result=&Apache::lonnet::getfile($fn);              my $result=&Apache::lonnet::getfile($fn);
             &Apache::lonpublisher::metaeval($result);              &Apache::lonpublisher::metaeval($result);
             &Apache::lonnet::logthis("restricted is: ".$Apache::lonpublisher::metadatafields{'courserestricted'});  
             if ((!$Apache::lonpublisher::metadatafields{'courserestricted'}) ||              if ((!$Apache::lonpublisher::metadatafields{'courserestricted'}) ||
                 ($env{'form.changecourse'} eq 'true')) {                  ($env{'form.changecourse'} eq 'true')) {
                 &pre_select_course($r,$uri);                  &pre_select_course($r,$uri);
Line 1203  ENDEDIT Line 1208  ENDEDIT
  my @fields;   my @fields;
  my $added_metadata_fields;   my $added_metadata_fields;
  my @added_order;   my @added_order;
           if ($file_type eq 'groups') {
               $Apache::lonpublisher::metadatafields{'courserestricted'}=
                   'course.'.$env{'request.course.id'};
           }
           if ((! $Apache::lonpublisher::metadatafields{'courserestricted'}) &&
                   (! $env{'form.new_courserestricted'}) && (! $file_type eq 'groups')) {
               $Apache::lonpublisher::metadatafields{'courserestricted'}=
                   'none';
           } elsif ($env{'form.new_courserestricted'}) {
               $Apache::lonpublisher::metadatafields{'courserestricted'}=
                   $env{'form.new_courserestricted'};
           }
  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
Line 1212  ENDEDIT Line 1229  ENDEDIT
         @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();                  if ($Apache::lonpublisher::metadatafields{'courserestricted'} =~ /^course\.($match_domain\_$match_courseid)$/) {
         if ($env{'course.'.$env{'request.course.id'}.'.metadata.addedorder'}) {                      my $assoc_crs = $1;
             @added_order = split(/,/,$env{'course.'.$env{'request.course.id'}.'.metadata.addedorder'});              $added_metadata_fields = &Apache::lonparmset::get_added_meta_fieldnames($assoc_crs);
         }              if ($env{'course.'.$assoc_crs.'.metadata.addedorder'}) {
         $env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.fieldlist'} = join(",",@fields);                  @added_order = split(/,/,$env{'course.'.$assoc_crs.'.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',
Line 1225  ENDEDIT Line 1245  ENDEDIT
        'lowestgradelevel','highestgradelevel','sourceavail','sourcerights',         'lowestgradelevel','highestgradelevel','sourceavail','sourcerights',
        'obsolete','obsoletereplacement');         'obsolete','obsoletereplacement');
         }          }
         if ($file_type eq 'groups') {  
             $Apache::lonpublisher::metadatafields{'courserestricted'}=  
                 'course.'.$env{'request.course.id'};   
         }  
         if ((! $Apache::lonpublisher::metadatafields{'courserestricted'}) &&  
                 (! $env{'form.new_courserestricted'}) && (! $file_type eq 'groups')) {  
             $Apache::lonpublisher::metadatafields{'courserestricted'}=  
                 'none';  
         } elsif ($env{'form.new_courserestricted'}) {  
             $Apache::lonpublisher::metadatafields{'courserestricted'}=  
                 $env{'form.new_courserestricted'};   
         }             
         if (! $Apache::lonpublisher::metadatafields{'copyright'}) {          if (! $Apache::lonpublisher::metadatafields{'copyright'}) {
                 $Apache::lonpublisher::metadatafields{'copyright'}=                  $Apache::lonpublisher::metadatafields{'copyright'}=
     'default';      'default';
Line 1250  ENDEDIT Line 1258  ENDEDIT
  $Apache::lonpublisher::metadatafields{'owner'} =   $Apache::lonpublisher::metadatafields{'owner'} =
     $env{'user.name'}.':'.$env{'user.domain'};      $env{'user.name'}.':'.$env{'user.domain'};
     }      }
   
     if ($Apache::lonpublisher::metadatafields{'courserestricted'} ne 'none') {      if ($Apache::lonpublisher::metadatafields{'courserestricted'} ne 'none') {
   
                 if ($file_type eq 'portfolio') {                  if ($file_type eq 'portfolio') {
     $r->print(&mt('Associated with course [_1]',      $r->print(&mt('Associated with course [_1]',
         '<strong><a href="'.$uri.'?changecourse=true">'.          '<strong><a href="'.$uri.'?changecourse=true">'.
Line 1406  sub store_portfolio_metadata { Line 1414  sub store_portfolio_metadata {
   
 sub update_metadata_table {  sub update_metadata_table {
     my ($uri) = @_;      my ($uri) = @_;
     my ($group,$file_name);      my ($type,$udom,$uname,$file_name,$group) =
     my ($udom,$uname,$remainder) =   &Apache::lonnet::parse_portfolio_url($uri);
         ($uri=~m -^/+(?:uploaded|editupload)/+($match_domain)/+($match_name)/+(.*)$-);  
   
     if ($remainder =~ /^groups\/(\w+)\/portfolio(\/.+)$/) {  
         $group = $1;  
         $file_name = $2;  
     } elsif ($remainder =~ /^portfolio(\/.+)$/) {  
         $file_name = $1;  
     }  
     $file_name =~ s/\.meta$//;      $file_name =~ s/\.meta$//;
     my $current_permissions =      my $current_permissions =
         &Apache::lonnet::get_portfile_permissions($udom,$uname);          &Apache::lonnet::get_portfile_permissions($udom,$uname);
     my %access_controls =      my %access_controls =
         &Apache::lonnet::get_access_controls($current_permissions,$group,          &Apache::lonnet::get_access_controls($current_permissions,$group,
                                              $group.$file_name);                                               $file_name);
     my $access_hash = $access_controls{$file_name};      my $access_hash = $access_controls{$file_name};
     my $available = 0;      my $available = 0;
     if (ref($access_hash) eq 'HASH') {      if (ref($access_hash) eq 'HASH') {
Line 1437  sub update_metadata_table { Line 1437  sub update_metadata_table {
     if ($available) {      if ($available) {
         my $result =          my $result =
             &Apache::lonnet::update_portfolio_table($uname,$udom,              &Apache::lonnet::update_portfolio_table($uname,$udom,
             $file_name,'portfolio_metadata',$group);              $file_name,'portfolio_metadata',$group,'update');
     }      }
 }  }
   

Removed from v.1.193  
changed lines
  Added in v.1.199


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