--- loncom/publisher/lonpublisher.pm 2002/04/14 16:25:39 1.77 +++ loncom/publisher/lonpublisher.pm 2002/07/26 19:35:20 1.85 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Publication Handler # -# $Id: lonpublisher.pm,v 1.77 2002/04/14 16:25:39 matthew Exp $ +# $Id: lonpublisher.pm,v 1.85 2002/07/26 19:35:20 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -217,6 +217,56 @@ sub absoluteurl { return $url; } +sub set_allow { + my ($allow,$logfile,$target,$tag,$oldurl)=@_; + my $newurl=&urlfixup($oldurl,$target); + my $return_url=$oldurl; + print $logfile 'GUYURL: '.$tag.':'.$oldurl.' - '.$newurl."\n"; + if ($newurl ne $oldurl) { + $return_url=$newurl; + print $logfile 'URL: '.$tag.':'.$oldurl.' - '.$newurl."\n"; + } + if (($newurl !~ /^javascript:/i) && + ($newurl !~ /^mailto:/i) && + ($newurl !~ /^http:/i) && + ($newurl !~ /^\#/)) { + $$allow{&absoluteurl($newurl,$target)}=1; + } + return $return_url +} + +sub get_subscribed_hosts { + my ($target)=@_; + my @subscribed; + my $filename; + $target=~/(.*)\/([^\/]+)$/; + my $srcf=$2; + opendir(DIR,$1); + while ($filename=readdir(DIR)) { + if ($filename=~/$srcf\.(\w+)$/) { + my $subhost=$1; + if ($subhost ne 'meta' && $subhost ne 'subscription') { + push(@subscribed,$subhost); + } + } + } + closedir(DIR); + my $sh; + if ( $sh=Apache::File->new("$target.subscription") ) { + &Apache::lonnet::logthis("opened $target.subscription"); + while (my $subline=<$sh>) { + &Apache::lonnet::logthis("Trying $subline"); + if ($subline =~ /(^\w+):/) { push(@subscribed,$1); } else { + &Apache::lonnet::logthis("No Match for $subline"); + } + } + } else { + &Apache::lonnet::logthis("Un able to open $target.subscription"); + } + &Apache::lonnet::logthis("Got list of ".join(':',@subscribed)); + return @subscribed; +} + sub publish { my ($source,$target,$style)=@_; @@ -318,25 +368,25 @@ sub publish { foreach my $type ('src','href','background','bgimg') { foreach my $key (keys(%parms)) { + print $logfile "for $type, and $key\n"; if ($key =~ /^$type$/i) { - my $oldurl=$parms{$key}; - my $newurl=&urlfixup($oldurl,$target); - if ($newurl ne $oldurl) { - $parms{$key}=$newurl; - print $logfile 'URL: '.$tag.':'.$oldurl.' - '. - $newurl."\n"; - } - if (($newurl !~ /^javascript:/i) && - ($newurl !~ /^mailto:/i) && - ($newurl !~ /^http:/i) && - ($newurl !~ /^\#/)) { - $allow{&absoluteurl($newurl,$target)}=1; - } + print $logfile "calling set_allow\n"; + $parms{$key}=&set_allow(\%allow,$logfile, + $target,$tag, + $parms{$key}); } - last; } } - + # probably a image type