} $sth->finish (); $dbh->disconnect (); #####parts of sub HandleSite from Web Sec###### sub HandleSite() { # Get parameter values for this page $url = $siteinfo{URL}; $auth = $siteinfo{Auth}; $name = $siteinfo{Name}; $prefix = $siteinfo{Prefix}; $diff = $siteinfo{Diff}; $hicolor = $siteinfo{Hicolor}; $ignore = $siteinfo{Ignore}; $ignoreurl = $siteinfo{IgnoreURL}; $email = $siteinfo{Email}; $emailLink = $siteinfo{EmailLink}; $proxy = $siteinfo{Proxy}; $proxyAuth = $siteinfo{ProxyAuth}; $tmin = $siteinfo{Tmin}; $tmax = $siteinfo{Tmax}; $digest = $siteinfo{Digest}; # If block without URL, assume parameter setting block and update default values if ($url eq "") { %defaults = %siteinfo; return 0; } # If essential parameters are not present, abort with error if ($name eq "" || $prefix eq "" || ($email eq "" && $emailLink eq "")) { print "Name, prefix or email info missing from URL: $url.\n"; return -1; } # If URL is successfully downloaded if ($resp->is_success) { open (HTML_FILE, ">$page_current"); print HTML_FILE "\n"; print HTML_FILE "base. "\">\n"; print HTML_FILE $resp->content; close HTML_FILE; if ($diff eq "webdiff") { if ($page_previousExists == 1) { print "Highlighting differences from previous version of webpage ...\n"; $rc = system($webdiff); if ($rc != 0) { print "Sending highlighted page to $email ...\n"; if ($email ne "") { MailDocument($outgoing, $subj, $email); } if ($emailLink ne "") { if (($digest ne "no") && ($digest ne "false")) { push @digest,$url; ($digestEmail) or ($digestEmail=$emailLink); } else { $linkmsg = "The contents of the following URL has changed:\n\n$url\n"; MailMessage($linkmsg, $subj, $emailLink); } } } else { print "No changes were detected.\n"; } rename $page_previous, $page_archive; rename $page_current, $page_previous; } else { print "No previous version for this page. Storing in archive ...\n"; rename $page_current, $page_previous; } } else { if ($email ne "") { MailDocument($page_current, $subj, $email); } if ($page_previousExists) { rename $page_previous, $page_archive; } rename $page_current, $page_previous; } } # Mail message # Params: message, subject, recipient # Returns: none sub MailMessage() { my $message = shift(@_); my $subject = shift(@_); my @recipients = split/,/, shift(@_); foreach $email (@recipients) { $req = HTTP::Request->new(POST => "mailto:" . $email); $req->header("Subject", $subject); $req->header("Content-type", "text/plain; charset=us-ascii"); $req->header("Content-Transfer-Encoding", "7bit"); $req->header("MIME-Version", "1.0"); $req->content($message); $ua = new LWP::UserAgent; $ua->request($req); } } # Mail HTML document. # Params: filename, subject, recipient # Returns: none sub MailDocument() { my $filename = shift(@_); my $subject = shift(@_); my @recipients = split/,/, shift(@_); my $tmpstr = $/; undef $/; open(FILE, "$filename") or die "Cannot open $filename: $!\n"; my $content = ; close(FILE); foreach $email (@recipients) { $req = HTTP::Request->new(POST => "mailto:" . $email); $req->header("Subject", $subject); $req->header("Content-type", "text/html"); $req->header("Content-Transfer-Encoding", "7bit"); $req->header("MIME-Version", "1.0"); $req->content($content); $ua = new LWP::UserAgent; $ua->request($req); } $/ = $tmpstr; }