Diff for /loncom/publisher/lonpublisher.pm between versions 1.38 and 1.50

version 1.38, 2001/08/13 16:12:59 version 1.50, 2001/10/16 19:28:38
Line 11 Line 11
 # 04/16/2001 Scott Harrison  # 04/16/2001 Scott Harrison
 # 05/03,05/05,05/07 Gerd Kortemeyer  # 05/03,05/05,05/07 Gerd Kortemeyer
 # 05/28/2001 Scott Harrison  # 05/28/2001 Scott Harrison
 # 06/23,08/07,08/11,8/13 Gerd Kortemeyer  # 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26 Gerd Kortemeyer
   
 package Apache::lonpublisher;  package Apache::lonpublisher;
   
Line 71  sub metaeval { Line 71  sub metaeval {
               } @{$token->[3]};                } @{$token->[3]};
               if ($metadatafields{$unikey}) {                if ($metadatafields{$unikey}) {
   my $newentry=$parser->get_text('/'.$entry);    my $newentry=$parser->get_text('/'.$entry);
                   unless ($metadatafields{$unikey}=~/$newentry/) {                    unless (($metadatafields{$unikey}=~/$newentry/) ||
                             ($newentry eq '')) {
                      $metadatafields{$unikey}.=', '.$newentry;                       $metadatafields{$unikey}.=', '.$newentry;
   }    }
       } else {        } else {
Line 135  sub selectbox { Line 136  sub selectbox {
   
 sub urlfixup {  sub urlfixup {
     my ($url,$target)=@_;      my ($url,$target)=@_;
       unless ($url) { return ''; }
     my ($host)=($url=~/(?:http\:\/\/)*([^\/]+)/);      my ($host)=($url=~/(?:http\:\/\/)*([^\/]+)/);
     map {      map {
  if ($_ eq $host) {   if ($_ eq $host) {
Line 142  sub urlfixup { Line 144  sub urlfixup {
             $url=~s/^$host//;              $url=~s/^$host//;
         }          }
     } values %Apache::lonnet::hostname;      } values %Apache::lonnet::hostname;
       if ($url=~/^http\:\/\//) { return $url; }
     $url=~s/\~$cuname/res\/$cudom\/$cuname/;      $url=~s/\~$cuname/res\/$cudom\/$cuname/;
     if ($target) {      if ($target) {
  $target=~s/\/[^\/]+$//;   $target=~s/\/[^\/]+$//;
Line 256  sub publish { Line 259  sub publish {
   }    }
                           $allow{$newurl}=1;                            $allow{$newurl}=1;
                       }                        }
                   } ('src','href');                    } ('src','href','background');
   
                   if ($tag eq 'applet') {                    if ($tag eq 'applet') {
       my $codebase='';        my $codebase='';
Line 306  sub publish { Line 309  sub publish {
  }   }
               } elsif ($token->[0] eq 'E') {                } elsif ($token->[0] eq 'E') {
                   unless ($token->[1] eq 'allow') {                    unless ($token->[1] eq 'allow') {
                      $outstring.=$token->[2];                       $outstring.='</'.$token->[1].'>';
   }    }
               } else {                } else {
                   $outstring.=$token->[1];                    $outstring.=$token->[1];
Line 314  sub publish { Line 317  sub publish {
           }            }
 # ------------------------------------------------------------ Construct Allows  # ------------------------------------------------------------ Construct Allows
      unless ($style eq 'rat') {       unless ($style eq 'rat') {
    $scrout.='<h3>Dependencies</h3>';
  my $allowstr="\n";   my $allowstr="\n";
         map {          map {
            $allowstr.='<allow src="'.$_.'" />'."\n";             $allowstr.='<allow src="'.$_.'" />'."\n";
              $scrout.='<br>';
              unless ($_=~/\*/) {
          $scrout.='<a href="'.$_.'">';
              }
              $scrout.='<tt>'.$_.'</tt>';
              unless ($_=~/\*/) {
          $scrout.='</a>';
              }
         } keys %allow;          } keys %allow;
         $outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;          $outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;
     }      }
Line 349  sub publish { Line 361  sub publish {
      %metadatakeys=();       %metadatakeys=();
             
      my %oldparmstores=();       my %oldparmstores=();
        
        $scrout.='<h3>Metadata Information</h3>';
   
 # ------------------------------------------------ First, check out environment  # ------------------------------------------------ First, check out environment
      unless (-e $source.'.meta') {       unless (-e $source.'.meta') {
Line 399  sub publish { Line 413  sub publish {
   
 # -------------------------------------------------- Parse content for metadata  # -------------------------------------------------- Parse content for metadata
     if ($style eq 'ssi') {      if ($style eq 'ssi') {
           my $oldenv=$ENV{'request.uri'};
   
           $ENV{'request.uri'}=$target;
         $allmeta=Apache::lonxml::xmlparse('meta',$content);          $allmeta=Apache::lonxml::xmlparse('meta',$content);
           $ENV{'request.uri'}=$oldenv;
   
         &metaeval($allmeta);          &metaeval($allmeta);
     }      }
Line 515  sub publish { Line 533  sub publish {
         
  $scrout.=&textfield('Publisher/Owner','owner',   $scrout.=&textfield('Publisher/Owner','owner',
                             $metadatafields{'owner'});                              $metadatafields{'owner'});
   # --------------------------------------------------- Correct copyright for rat        
       if ($style eq 'rat') {
          if ($metadatafields{'copyright'} eq 'public') { 
             delete $metadatafields{'copyright'};
          }
          delete $cprtag{'public'};
      }
   
         $scrout.=&selectbox('Copyright/Distribution','copyright',          $scrout.=&selectbox('Copyright/Distribution','copyright',
                             $metadatafields{'copyright'},%cprtag);                              $metadatafields{'copyright'},%cprtag);
Line 830  sub handler { Line 855  sub handler {
      return OK;       return OK;
   }    }
   
   # Get query string for limited number of parameters
   
       map {
          my ($name, $value) = split(/=/,$_);
          $value =~ tr/+/ /;
          $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
          if ($name eq 'filename') {
              unless ($ENV{'form.'.$name}) {
                 $ENV{'form.'.$name}=$value;
      }
          }
       } (split(/&/,$ENV{'QUERY_STRING'}));
   
   
 # -------------------------------------------------------------- Check filename  # -------------------------------------------------------------- Check filename
   
   my $fn=$ENV{'form.filename'};    my $fn=$ENV{'form.filename'};
Line 861  sub handler { Line 900  sub handler {
      return HTTP_NOT_ACCEPTABLE;       return HTTP_NOT_ACCEPTABLE;
   }    }
   
   $fn=~s/^http\:\/\/[^\/]+\/\~(\w+)/\/home\/$1\/public_html/;    $fn=~s/^http\:\/\/[^\/]+//;
     $fn=~s/^\/\~(\w+)/\/home\/$1\/public_html/;
   
   my $targetdir='';    my $targetdir='';
   $docroot=$r->dir_config('lonDocRoot');     $docroot=$r->dir_config('lonDocRoot'); 

Removed from v.1.38  
changed lines
  Added in v.1.50


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