Diff for /loncom/interface/lonmeta.pm between versions 1.101 and 1.115

version 1.101, 2005/08/02 17:01:20 version 1.115, 2005/10/21 19:20:58
Line 290  sub fieldnames { Line 290  sub fieldnames {
   
 sub select_course {  sub select_course {
     my ($r)=@_;      my ($r)=@_;
     $r->print('<h3>Instructor Selected Meta-Data</h3><br />');      my %courses;
       foreach my $key (keys (%env)) { 
           if ($key =~ m/\.metadata\./) {
               $key =~ m/^course\.(.+)(\.metadata.+$)/;
               my $course = $1;
               my $coursekey = 'course.'.$course.'.description';
               my $value = $env{$coursekey};
               $courses{$coursekey} = $value;
           }
       }
       $r->print('<h3>Course Related Meta-Data</h3><br />');
     $r->print('<form action="" method="post">');      $r->print('<form action="" method="post">');
     $r->print('Select your course<br>'.$env{'user.domain'});      $r->print('Select your test course<br />');
     $r->print('<select name="metacourse" >');      $r->print('<select name="metacourse" >');
     $r->print('<input type="submit" >');      my $meta_not_found = 1;
     $r->print('</form>');      foreach my $key (keys (%courses)) {    
               if ($meta_not_found) {
     foreach my $key (keys %env) {              undef($meta_not_found);
                       $r->print('<h3>Portfolio Meta-Data</h3><br />');
         if ($key =~ /\.metadata\./) {              $r->print('<form action="" method="post">');
             my $course_key = $key;              $r->print('Select your course<br />');
             $course_key =~ s/\.metadata\..*//;              $r->print('<select name="metacourse" >');
             $r->print('<option>');          }
             $r->print($env{$course_key.'.description'});          $r->print('<option value="'.$key.'">');
             $r->print('</option>');          $r->print($courses{$key});
         }          $r->print('</option>');
     }      }
     $r->print('</select><br />');      unless ($meta_not_found) {
     $r->print('<input type="submit" >');          $r->print('</select><br />');
     $r->print('</form>');          $r->print('<input type="submit" value="Assign Portfolio Metadata" />');
           $r->print('</form>');
       }
     return 'ok';      return 'ok';
 }  }
 # Pretty printing of metadata field  # Pretty printing of metadata field
Line 569  sub handler { Line 581  sub handler {
         # Looking for all bombs?          # Looking for all bombs?
         &report_bombs($r,$uri);          &report_bombs($r,$uri);
     } elsif ($uri=~/\/portfolio\//) {      } elsif ($uri=~/\/portfolio\//) {
    ($resdomain,$resuser)=
       (&Apache::lonnet::declutter($uri)=~m|^(\w+)/(\w+)/portfolio|);
         $r->print(&Apache::loncommon::bodytag          $r->print(&Apache::loncommon::bodytag
           ('Edit Portfolio File Information','','','',$resdomain));            ('Edit Portfolio File Information','','','',$resdomain));
         &present_editable_metadata($r,$uri,'portfolio');          &present_editable_metadata($r,$uri,'portfolio');
         &select_course($r);          &select_course($r);
           
     } elsif ($uri=~/^\/\~/) {       } elsif ($uri=~/^\/\~/) { 
         # Construction space          # Construction space
         $r->print(&Apache::loncommon::bodytag          $r->print(&Apache::loncommon::bodytag
Line 908  sub print_dynamic_metadata { Line 921  sub print_dynamic_metadata {
     return;      return;
 }  }
   
   
   
 #####################################################  #####################################################
 #####################################################  #####################################################
 ###                                               ###  ###                                               ###
Line 923  sub present_editable_metadata { Line 938  sub present_editable_metadata {
     my $fn=&Apache::lonnet::filelocation('',$uri);      my $fn=&Apache::lonnet::filelocation('',$uri);
     $disuri=~s/^\/\~/\/priv\//;      $disuri=~s/^\/\~/\/priv\//;
     $disuri=~s/\.meta$//;      $disuri=~s/\.meta$//;
       $disuri=~s|^/editupload||;
     my $target=$uri;      my $target=$uri;
     $target=~s/^\/\~/\/res\/$env{'request.role.domain'}\//;      $target=~s/^\/\~/\/res\/$env{'request.role.domain'}\//;
     $target=~s/\.meta$//;      $target=~s/\.meta$//;
Line 976  ENDDEL Line 992  ENDDEL
         %Apache::lonpublisher::metadatakeys=();          %Apache::lonpublisher::metadatakeys=();
         my $result=&Apache::lonnet::getfile($fn);          my $result=&Apache::lonnet::getfile($fn);
         if ($result == -1){          if ($result == -1){
             $r->print('Creating new '.$fn);              $r->print('Creating new '.$disuri);
         } else {          } else {
             &Apache::lonpublisher::metaeval($result);              &Apache::lonpublisher::metaeval($result);
         }          }
Line 1009  ENDEDIT Line 1025  ENDEDIT
                 $Apache::lonpublisher::metadatafields{'copyright'}=                  $Apache::lonpublisher::metadatafields{'copyright'}=
                     'default';                      'default';
             }              }
             $output.=('<p>'.$lt{$_}.': '.              if ($env{'form.metacourse'}) {
                       &prettyinput($_,                  # handle restrictions here
                   $env{'form.metacourse'} =~ m/(^.+)\.description$/;
                   my $key_base = $1;
                   if ($env{$key_base.'.metadata.'.$_.'.options'} =~ m/active/) {
                       $output.=('<p>'.$lt{$_}.': '.
                               &prettyinput($_,
      $Apache::lonpublisher::metadatafields{$_},
      'new_'.$_,'defaultmeta').'</p>');
                   }
               } else {
                   $output.=('<p>'.$lt{$_}.': '.
                               &prettyinput($_,
    $Apache::lonpublisher::metadatafields{$_},     $Apache::lonpublisher::metadatafields{$_},
    'new_'.$_,'defaultmeta').'</p>');     'new_'.$_,'defaultmeta').'</p>');
               }
         }          }
         if ($env{'form.store'}) {          if ($env{'form.store'}) {
             my $mfh;              my $mfh;
             my $formname='store';              my $formname='store'; 
             my $file_content;              my $file_content;
               foreach my $meta_field (keys %env) {
                   if (&Apache::loncommon::get_env_multiple('form.keywords')) {
                   $Apache::lonpublisher::metadatafields{'coursekeyword'} = 
                           join (', ', &Apache::loncommon::get_env_multiple('form.keywords'));
                   }
               }
             foreach (sort keys %Apache::lonpublisher::metadatafields) {              foreach (sort keys %Apache::lonpublisher::metadatafields) {
                 next if ($_ =~ /\./);                  next if ($_ =~ /\./);
                 my $unikey=$_;                  my $unikey=$_;
Line 1047  ENDEDIT Line 1081  ENDEDIT
                 $env{'form.'.$formname.'.filename'}=$new_fn;                  $env{'form.'.$formname.'.filename'}=$new_fn;
                 &Apache::lonnet::userfileupload('uploaddoc','',                  &Apache::lonnet::userfileupload('uploaddoc','',
          'portfolio'.$env{'form.currentpath'});           'portfolio'.$env{'form.currentpath'});
         my $status =&Apache::lonnet::userfileupload($formname,'','portfolio');  
                 if (&Apache::lonnet::userfileupload($formname,'','portfolio') eq 'error: no uploaded file') {                  if (&Apache::lonnet::userfileupload($formname,'','portfolio') eq 'error: no uploaded file') {
                     $r->print('<p><font color="red">'.                      $r->print('<p><font color="red">'.
                       &mt('Could not write metadata').', '.                        &mt('Could not write metadata').', '.

Removed from v.1.101  
changed lines
  Added in v.1.115


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