Diff for /loncom/publisher/lonpublisher.pm between versions 1.181 and 1.184

version 1.181, 2005/01/05 20:11:19 version 1.184, 2005/01/24 21:55:20
Line 138  my $docroot; Line 138  my $docroot;
 my $cuname;  my $cuname;
 my $cudom;  my $cudom;
   
   my $registered_cleanup;
   my $modified_urls;
   
 =pod  =pod
   
 =item B<metaeval>  =item B<metaeval>
Line 1543  sub phasetwo { Line 1546  sub phasetwo {
     $r->rflush;      $r->rflush;
   
 # ------------------------------------------------------------- Trigger updates  # ------------------------------------------------------------- Trigger updates
     $ENV{'internal.publication.target'}=$target;      push(@{$modified_urls},[$target,$source]);
     $ENV{'internal.publication.source'}=$source;      unless ($registered_cleanup) {
     $r->register_cleanup(\&notify);   $r->register_cleanup(\&notify);
    $registered_cleanup=1;
       }
 # ------------------------------------------------ Provide link to new resource  # ------------------------------------------------ Provide link to new resource
     unless ($batch) {      unless ($batch) {
         my $thisdistarget=$target;          my $thisdistarget=$target;
Line 1575  sub phasetwo { Line 1579  sub phasetwo {
 # =============================================================== Notifications  # =============================================================== Notifications
 sub notify {    sub notify {  
 # --------------------------------------------------- Send update notifications  # --------------------------------------------------- Send update notifications
     my $target=$ENV{'internal.publication.target'};      foreach my $targetsource (@{$modified_urls}){
     my $source=$ENV{'internal.publication.source'};   my ($target,$source)=@{$targetsource};
     my $logfile=Apache::File->new('>>'.$source.'.log');   my $logfile=Apache::File->new('>>'.$source.'.log');
     print $logfile "\nCleanup phase: Notifications\n";   print $logfile "\nCleanup phase: Notifications\n";
     my @subscribed=&get_subscribed_hosts($target);   my @subscribed=&get_subscribed_hosts($target);
     foreach my $subhost (@subscribed) {   foreach my $subhost (@subscribed) {
  print $logfile "\nNotifying host ".$subhost.':';      print $logfile "\nNotifying host ".$subhost.':';
  my $reply=&Apache::lonnet::critical('update:'.$target,$subhost);      my $reply=&Apache::lonnet::critical('update:'.$target,$subhost);
  print $logfile $reply;      print $logfile $reply;
     }   }
 # ---------------------------------------- Send update notifications, meta only  # ---------------------------------------- Send update notifications, meta only
     my @subscribedmeta=&get_subscribed_hosts("$target.meta");   my @subscribedmeta=&get_subscribed_hosts("$target.meta");
     foreach my $subhost (@subscribedmeta) {   foreach my $subhost (@subscribedmeta) {
  print $logfile "\nNotifying host for metadata only ".$subhost.':';      print $logfile "\nNotifying host for metadata only ".$subhost.':';
  my $reply=&Apache::lonnet::critical('update:'.$target.'.meta',      my $reply=&Apache::lonnet::critical('update:'.$target.'.meta',
     $subhost);   $subhost);
  print $logfile $reply;      print $logfile $reply;
     }    } 
 # --------------------------------------------------- Notify subscribed courses  # --------------------------------------------------- Notify subscribed courses
     my %courses=&coursedependencies($target);   my %courses=&coursedependencies($target);
     my $now=time;   my $now=time;
     foreach (keys %courses) {   foreach (keys %courses) {
  print $logfile "\nNotifying course ".$_.':';      print $logfile "\nNotifying course ".$_.':';
         my ($cdom,$cname)=split(/\_/,$_);      my ($cdom,$cname)=split(/\_/,$_);
  my $reply=&Apache::lonnet::cput      my $reply=&Apache::lonnet::cput
                   ('versionupdate',{$target => $now},$cdom,$cname);   ('versionupdate',{$target => $now},$cdom,$cname);
  print $logfile $reply;      print $logfile $reply;
    }
    print $logfile "\n============ Done ============\n";
    $logfile->close();
     }      }
     print $logfile "\n============ Done ============\n";      return OK;
     $logfile->close();  
 }  }
   
 #########################################  #########################################
Line 1687  sub publishdirectory { Line 1693  sub publishdirectory {
     $ruid,$rgid,$rrdev,$rsize,      $ruid,$rgid,$rrdev,$rsize,
     $ratime,$rmtime,$rctime,      $ratime,$rmtime,$rctime,
     $rblksize,$rblocks)=stat($resdir.'/'.$filename);      $rblksize,$rblocks)=stat($resdir.'/'.$filename);
         if (($rmtime<$cmtime) || ($ENV{'form.forcerepub'})) {          if (($rmtime<$cmtime) || ($ENV{'form.forcerepub'} eq 'ON')) {
 # previously published, modified now  # previously published, modified now
     $publishthis=1;      $publishthis=1;
                 }                  }
Line 1816  sub handler { Line 1822  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                             ['filename']);                                              ['filename']);
   
   # -------------------------------------- Flag and buffer for registered cleanup
       $registered_cleanup=0;
       @{$modified_urls}=();
 # -------------------------------------------------------------- Check filename  # -------------------------------------------------------------- Check filename
   
     my $fn=&Apache::lonnet::unescape($ENV{'form.filename'});      my $fn=&Apache::lonnet::unescape($ENV{'form.filename'});

Removed from v.1.181  
changed lines
  Added in v.1.184


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