#!/usr/bin/perl -- # -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Tinderbox build tool. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): use strict; use Fcntl qw(:flock); require 'tbglobals.pl'; require 'showbuilds.pl'; # Process the form arguments my %form = &split_cgi_args(); my %cookie_jar = &split_cookie_args(); my ($args, $tree, $logfile, $errorparser, $buildname, $buildtime); if (defined($args = $form{log})) { # Use simplified arguments that uses the logfile as a key. ($tree, $logfile) = split /\//, $args; $tree = &require_only_one_tree($tree); my $br = tb_find_build_record($tree, $logfile); $errorparser = $br->{errorparser}; $buildname = $br->{buildname}; $buildtime = $br->{buildtime}; } else { # Use old style arguments; $tree = &require_only_one_tree($form{tree}); $logfile = $form{logfile}; $errorparser = $form{errorparser}; $buildname = $form{buildname}; $buildtime = $form{buildtime}; } print "Content-Type:text/html\n"; # Remember email address in cookie # if (defined $ENV{REQUEST_METHOD} and $ENV{REQUEST_METHOD} eq 'POST' and defined $form{note}) { # Expire the cookie 5 months from now print "Set-Cookie: email=$form{who}; expires=" . toGMTString(time + 86400 * 152) . "; path=/\n"; } print "\n\n"; if ($form{note}) { # Form Submission. # Add the comment. my $note = $form{note}; my $who = $form{who}; $note =~ s/\&/&/gi; $note =~ s/\</gi; $note =~ s/\>/>/gi; my $enc_note = url_encode($note); my $now = time; # Save comment to the notes.txt file. # my $err = 0; open NOTES, ">>", "$tree/notes.txt" or $err++; if ($err) { print "
\n[$who - ".print_time($now)."]\n$note\n"; my $enc_buildname = url_encode($buildname); print "
"
."Go back to the Error Log
"
."Go back to the build Page";
# Rebuild the static tinderbox pages
my %new_form = ();
$new_form{tree} = $tree;
&tb_build_static(\%new_form);
} else {
# Print the form to submit a comment
if ($buildname eq '' or $buildtime == 0) {
print "
Add a Log Comment |
$buildname
|