Diff for /loncom/publisher/lonpublisher.pm between versions 1.7 and 1.8

version 1.7, 2000/11/30 23:01:41 version 1.8, 2000/12/01 12:08:01
Line 5 Line 5
 #  #
 # 05/29/00,05/30,10/11 Gerd Kortemeyer)  # 05/29/00,05/30,10/11 Gerd Kortemeyer)
 #  #
 # 11/28,11/29,11/30 Gerd Kortemeyer  # 11/28,11/29,11/30,12/01 Gerd Kortemeyer
   
 package Apache::lonpublisher;  package Apache::lonpublisher;
   
Line 46  sub metaeval { Line 46  sub metaeval {
                   }                    }
               } @{$token->[3]};                } @{$token->[3]};
               if ($metadatafields{$unikey}) {                if ($metadatafields{$unikey}) {
                  $metadatafields{$unikey}.=','.$parser->get_text('/'.$entry);    my $newentry=$parser->get_text('/'.$entry);
                     unless ($metadatafields{$unikey}=~/$newentry/) {
                        $metadatafields{$unikey}.=', '.$newentry;
     }
       } else {        } else {
                  $metadatafields{$unikey}=$parser->get_text('/'.$entry);                   $metadatafields{$unikey}=$parser->get_text('/'.$entry);
               }                }
Line 70  sub metaread { Line 73  sub metaread {
     return '<br><b>Processed file:</b> <tt>'.$fn.'</tt>';      return '<br><b>Processed file:</b> <tt>'.$fn.'</tt>';
 }  }
   
   sub textfield {
       my ($title,$value)=@_;
       return "\n<p><b>$title:</b><br>".
              '<input type=text size=80 value="'.$value.'">';
   }
   
 sub publish {  sub publish {
   
     my ($source,$target,$style)=@_;      my ($source,$target,$style)=@_;
Line 201  sub publish { Line 210  sub publish {
   
 # ---------------------------------------- Storage for metadata keys and fields  # ---------------------------------------- Storage for metadata keys and fields
   
         %metadatafields=();       %metadatafields=();
         %metadatakeys=();       %metadatakeys=();
        
        my %oldparmstores=();
   
 # ------------------------------------------------ First, check out environment  # ------------------------------------------------ First, check out environment
        unless (-e $source.'.meta') {
         $metadatafields{'author'}=$ENV{'environment.firstname'}.' '.          $metadatafields{'author'}=$ENV{'environment.firstname'}.' '.
                           $ENV{'environment.middlename'}.' '.                            $ENV{'environment.middlename'}.' '.
                   $ENV{'environment.lastname'}.' '.                    $ENV{'environment.lastname'}.' '.
                   $ENV{'environment.generation'};                    $ENV{'environment.generation'};
           $metadatafields{'author'}=~s/\s+/ /g;
           $metadatafields{'author'}=~s/\s+$//;
   
 # ------------------------------------------------ Check out directory hierachy  # ------------------------------------------------ Check out directory hierachy
   
Line 234  sub publish { Line 247  sub publish {
             }              }
         } keys %metadatafields;          } keys %metadatafields;
   
       } else {
 # ---------------------- Read previous metafile, remember parameters and stores  # ---------------------- Read previous metafile, remember parameters and stores
   
         $scrout.=&metaread($logfile,$source.'.meta');          $scrout.=&metaread($logfile,$source.'.meta');
         my %oldparmstores=();  
   
         map {          map {
     if (($_=~/^parameter/) || ($_=~/^stores/)) {      if (($_=~/^parameter/) || ($_=~/^stores/)) {
Line 246  sub publish { Line 259  sub publish {
             }              }
         } keys %metadatafields;          } keys %metadatafields;
                   
       }
   
 # -------------------------------------------------- Parse content for metadata  # -------------------------------------------------- Parse content for metadata
   
Line 290  sub publish { Line 303  sub publish {
                      $chparms;                       $chparms;
         }          }
   
 # DEBUG:  # ------------------------------------------------------- Now have all metadata
   
         $scrout.=$allmeta;          $scrout.=
        '<form action="/adm/publish" method="post">'.
        '<input type="hidden" name="phase" value="two">'.
        '<input type="hidden" name="filename" value="'.$ENV{'form.filename'}.'">'.
             &textfield('Title',$metadatafields{'title'}).
             &textfield('Author(s)',$metadatafields{'author'}).
     &textfield('Subject',$metadatafields{'subject'});
   
 # --------------------------------------------------- Scan content for keywords  # --------------------------------------------------- Scan content for keywords
   
  my $keywordout='<table border=2><tr>';   my $keywordout='<p><b>Keywords:</b><br><table border=2><tr>';
         my $colcount=0;          my $colcount=0;
                   
  {   {
Line 317  sub publish { Line 336  sub publish {
   
   
             map {              map {
                 $keywordout.='<td><input type=checkbox name="'.$_.'">'.$_.                  $keywordout.='<td><input type=checkbox name="'.$_.'"';
                              '</td>';                  if ($metadatafields{'keywords'}=~/$_/) { 
                      $keywordout.=' checked'; 
                   }
                   $keywordout.='>'.$_.'</td>';
                 if ($colcount>10) {                  if ($colcount>10) {
     $keywordout.="</tr><tr>\n";      $keywordout.="</tr><tr>\n";
                     $colcount=0;                      $colcount=0;
Line 333  sub publish { Line 355  sub publish {
     
  $scrout.=$keywordout;   $scrout.=$keywordout;
     }      }
     return $scrout;      return $scrout.
         '<p><input type="submit" value="Finalize Publication"></form>';
 }  }
   
 # ================================================================ Main Handler  # ================================================================ Main Handler

Removed from v.1.7  
changed lines
  Added in v.1.8


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