Diff for /loncom/publisher/lonpublisher.pm between versions 1.69 and 1.75

version 1.69, 2002/01/09 20:45:16 version 1.75, 2002/03/25 17:09:21
Line 43 Line 43
 # 12/06,12/07 Gerd Kortemeyer  # 12/06,12/07 Gerd Kortemeyer
 # 12/15,12/16 Scott Harrison  # 12/15,12/16 Scott Harrison
 # 12/25 Gerd Kortemeyer  # 12/25 Gerd Kortemeyer
   # YEAR=2002
   # 1/16,1/17 Scott Harrison
   # 1/17 Gerd Kortemeyer
 #  #
 ###  ###
   
Line 146  sub metaread { Line 149  sub metaread {
   
 # ---------------------------- convert 'time' format into a datetime sql format  # ---------------------------- convert 'time' format into a datetime sql format
 sub sqltime {  sub sqltime {
       my $timef=shift @_;
     my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =      my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
  localtime(@_[0]);   localtime($timef);
     $mon++; $year+=1900;      $mon++; $year+=1900;
     return "$year-$mon-$mday $hour:$min:$sec";      return "$year-$mon-$mday $hour:$min:$sec";
 }  }
Line 199  sub urlfixup { Line 203  sub urlfixup {
     }      }
     if ($url=~/^http\:\/\//) { return $url; }      if ($url=~/^http\:\/\//) { return $url; }
     $url=~s/\~$cuname/res\/$cudom\/$cuname/;      $url=~s/\~$cuname/res\/$cudom\/$cuname/;
       return $url;
   }
   
   
   sub absoluteurl {
       my ($url,$target)=@_;
       unless ($url) { return ''; }
     if ($target) {      if ($target) {
  $target=~s/\/[^\/]+$//;   $target=~s/\/[^\/]+$//;
        $url=&Apache::lonnet::hreflocation($target,$url);         $url=&Apache::lonnet::hreflocation($target,$url);
Line 303  sub publish { Line 314  sub publish {
                               print $logfile 'Index: '.$tag.':'.$maxindex."\n";                                print $logfile 'Index: '.$tag.':'.$maxindex."\n";
   }    }
       }        }
   }     }
                     
                   foreach ('src','href','background') {                    foreach my $type ('src','href','background','bgimg') {
                       if (defined($parms{$_})) {        foreach my $key (keys(%parms)) {
   my $oldurl=$parms{$_};    if ($key =~ /^$type$/i) {
                           my $newurl=&urlfixup($oldurl,$target);        my $oldurl=$parms{$key};
                           if ($newurl ne $oldurl) {        my $newurl=&urlfixup($oldurl,$target);
       $parms{$_}=$newurl;        if ($newurl ne $oldurl) {
                               print $logfile 'URL: '.$tag.':'.$oldurl.' - '.    $parms{$key}=$newurl;
   $newurl."\n";    print $logfile 'URL: '.$tag.':'.$oldurl.' - '.
         $newurl."\n";
         }
         if (($newurl !~ /^javascript:/i) &&
     ($newurl !~ /^mailto:/i) &&
     ($newurl !~ /^http:/i) &&
     ($newurl !~ /^\#/)) {
     $allow{&absoluteurl($newurl,$target)}=1;
         }
   }    }
                           $allow{$newurl}=1;    last;
                       }        }
                   }                    }
   
                   if ($lctag eq 'applet') {                    if ($lctag eq 'applet') {
Line 333  sub publish { Line 352  sub publish {
                                   $oldcodebase.' - '.                                    $oldcodebase.' - '.
   $codebase."\n";    $codebase."\n";
  }   }
                          $allow{$codebase.'/*'}=1;                           $allow{&absoluteurl($codebase,$target).'/*'}=1;
       } else {        } else {
                         foreach ('archive','code','object') {                          foreach ('archive','code','object') {
                           if (defined($parms{$_})) {                            if (defined($parms{$_})) {
Line 343  sub publish { Line 362  sub publish {
                                   print $logfile 'Allow: applet '.$_.':'.                                    print $logfile 'Allow: applet '.$_.':'.
                                   $oldurl.' allows '.                                    $oldurl.' allows '.
   $newurl."\n";    $newurl."\n";
                               $allow{$newurl}=1;                                $allow{&absoluteurl($newurl,$target)}=1;
                           }                            }
                         }                          }
                       }                        }
Line 378  sub publish { Line 397  sub publish {
           
  $scrout.='<h3>Dependencies</h3>';   $scrout.='<h3>Dependencies</h3>';
         my $allowstr='';          my $allowstr='';
         foreach (keys %allow) {          foreach (sort(keys(%allow))) {
    my $thisdep=$_;     my $thisdep=$_;
      if ($thisdep !~ /[^\s]/) { next; }
            unless ($style eq 'rat') {              unless ($style eq 'rat') { 
               $allowstr.="\n".'<allow src="'.$thisdep.'" />';                $allowstr.="\n".'<allow src="'.$thisdep.'" />';
    }     }
Line 406  sub publish { Line 426  sub publish {
        }         }
            }             }
         }          }
           $allowstr=~s/\n+/\n/g;
         $outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;          $outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;
   
 # ------------------------------------------------------------- Write modified  # ------------------------------------------------------------- Write modified
Line 515  sub publish { Line 536  sub publish {
                      $chparms;                       $chparms;
         }          }
   
         my $chparms='';          $chparms='';
         foreach (sort keys %oldparmstores) {          foreach (sort keys %oldparmstores) {
     if (($_=~/^parameter/) || ($_=~/^stores/)) {      if (($_=~/^parameter/) || ($_=~/^stores/)) {
                 unless (($metadatafields{$_.'.name'}) ||                  unless (($metadatafields{$_.'.name'}) ||
Line 577  sub publish { Line 598  sub publish {
                       $keywordout.=' checked';                         $keywordout.=' checked'; 
                    }                     }
         } elsif (&Apache::loncommon::keyword($_)) {          } elsif (&Apache::loncommon::keyword($_)) {
     $keywordout.=' checked';              $keywordout.=' checked';
                 }                   } 
                 $keywordout.='>'.$_.'</td>';                  $keywordout.='>'.$_.'</td>';
                 if ($colcount>10) {                  if ($colcount>10) {
Line 605  sub publish { Line 626  sub publish {
   
         $scrout.=&selectbox('Language','language',          $scrout.=&selectbox('Language','language',
                             $metadatafields{'language'},                              $metadatafields{'language'},
     \&{Apache::loncommon::languagedescription},      \&Apache::loncommon::languagedescription,
     (&Apache::loncommon::languageids),      (&Apache::loncommon::languageids),
      );       );
   
Line 626  sub publish { Line 647  sub publish {
  }   }
         $scrout.=&selectbox('Copyright/Distribution','copyright',          $scrout.=&selectbox('Copyright/Distribution','copyright',
                             $metadatafields{'copyright'},                              $metadatafields{'copyright'},
     \&{Apache::loncommon::copyrightdescription},      \&Apache::loncommon::copyrightdescription,
      (grep !/^public$/,(&Apache::loncommon::copyrightids)));       (grep !/^public$/,(&Apache::loncommon::copyrightids)));
     }      }
     else {      else {
         $scrout.=&selectbox('Copyright/Distribution','copyright',          $scrout.=&selectbox('Copyright/Distribution','copyright',
                             $metadatafields{'copyright'},                              $metadatafields{'copyright'},
     \&{Apache::loncommon::copyrightdescription},      \&Apache::loncommon::copyrightdescription,
      (&Apache::loncommon::copyrightids));       (&Apache::loncommon::copyrightids));
     }      }
     return $scrout.      return $scrout.
Line 926  if (-e $target) { Line 947  if (-e $target) {
   
   
     return $warning.$scrout.      return $warning.$scrout.
       '<hr><a href="'.$thisdistarget.'"><font size=+2>View Target</font></a>'.        '<hr><a href="'.$thisdistarget.'"><font size=+2>View Published Version</font></a>'.
       '<p><a href="'.$thissrc.'"><font size=+2>Back to Source</font></a>'.        '<p><a href="'.$thissrc.'"><font size=+2>Back to Source</font></a>'.
       '<p><a href="'.$thissrcdir.        '<p><a href="'.$thissrcdir.
       '"><font size=+2>Back to Source Directory</font></a>';        '"><font size=+2>Back to Source Directory</font></a>';

Removed from v.1.69  
changed lines
  Added in v.1.75


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