Diff for /loncom/interface/lonmeta.pm between versions 1.106 and 1.110

version 1.106, 2005/08/15 21:16:22 version 1.110, 2005/10/06 22:20:30
Line 575  sub handler { Line 575  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');
Line 930  sub present_editable_metadata { Line 932  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 983  ENDDEL Line 986  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 1021  ENDEDIT Line 1024  ENDEDIT
    $Apache::lonpublisher::metadatafields{$_},     $Apache::lonpublisher::metadatafields{$_},
    'new_'.$_,'defaultmeta').'</p>');     'new_'.$_,'defaultmeta').'</p>');
             if ($env{'form.metacourse'}) {              if ($env{'form.metacourse'}) {
                      $r->print('This is the instructor metadata area<br />');
     $r->print('This is the instructor metadata area<br />');                  # have to find all the metadata items, so we'll loop through and find them
     my @keywords = sort(split /, /,$env{$env{'form.metacourse'}.'.metadata.keywords'});                  $r->print('<form method="post" action="" size="3" >');
     $r->print($env{'form.metacourse'}.'<br />');                  $r->print('The course is: '.$env{'form.metacourse'}.'<br>');
     $r->print('<form method="post" action="" size="3" >');                  foreach my $key (sort keys %env) {
     $r->print('<select name="keywords" size="3" multiple>');                      if ($key=~m/^($env{'form.metacourse'}\.metadata\.)(\d+)\.title/) {
     foreach my $word (@keywords) {                          my $key_base = $1;
         $r->print('<option>'.$word.'</option>');                          my $item_num = $2;
     }                          # found one, so let's display it
     $r->print('</select>');                          my $title = $env{$key_base.$item_num.'.title'};
                           my $type = $env{$key_base.$item_num.'.type'};
                           my @choices = sort(split /, /,$env{$key_base.$item_num.'.values'});
                           $r->print($title.'<br />');
                           $r->print($type.'<br />');
               
               foreach my $word (@choices) {
                   my $checked;
                   if ($Apache::lonpublisher::metadatafields{'coursekeyword'}=~ m/$word/) {
                       $checked = 1;
                   } else {
                       undef($checked);
                   }
                   $r->print(&Apache::lonhtmlcommon::checkbox('instmeta_'.$env{'form.metacourse'}.'_'.$item_num,$checked,$word).$word.'<br />');
               }
           }
       }   
     $r->print('<br /><input type="submit" name="store" value="Assign Meta-data" />');      $r->print('<br /><input type="submit" name="store" value="Assign Meta-data" />');
     $r->print('</form>');      $r->print('</form>');
     return 'ok';      return 'ok';
Line 1038  ENDEDIT Line 1057  ENDEDIT
         }          }
         if ($env{'form.store'}) {          if ($env{'form.store'}) {
             my $mfh;              my $mfh;
             my $formname='store';              my $formname='store'; 
             my $file_content;              my $file_content;
             if (&Apache::loncommon::get_env_multiple('form.keywords')) {              foreach my $meta_field (keys %env) {
             $Apache::lonpublisher::metadatafields{'coursekeyword'} =                   if ($meta_field=~m/^form.instmeta_(.+)_(\d+)$/) {
                       $r->print('Found a field<br>');
                   }
                   if (&Apache::loncommon::get_env_multiple('form.keywords')) {
                   $Apache::lonpublisher::metadatafields{'coursekeyword'} = 
                         join (', ', &Apache::loncommon::get_env_multiple('form.keywords'));                          join (', ', &Apache::loncommon::get_env_multiple('form.keywords'));
                   }
             }              }
             foreach (sort keys %Apache::lonpublisher::metadatafields) {              foreach (sort keys %Apache::lonpublisher::metadatafields) {
                 next if ($_ =~ /\./);                  next if ($_ =~ /\./);
Line 1069  ENDEDIT Line 1093  ENDEDIT
             if ($fn =~ /\/portfolio\//) {              if ($fn =~ /\/portfolio\//) {
                 $fn =~ /\/portfolio\/(.*)$/;                  $fn =~ /\/portfolio\/(.*)$/;
                 my $new_fn = '/'.$1;                  my $new_fn = '/'.$1;
                   
                 $r->print('<br />Just checking<br />');  
                 $env{'form.'.$formname}=$file_content;                  $env{'form.'.$formname}=$file_content;
                 $env{'form.'.$formname.'.filename'}=$new_fn;                  $env{'form.'.$formname.'.filename'}=$new_fn;
                 &Apache::lonnet::userfileupload('uploaddoc','',                  &Apache::lonnet::userfileupload('uploaddoc','',

Removed from v.1.106  
changed lines
  Added in v.1.110


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