# Checking SERVER_SOFTWARE is the same as i_am_cgi() in Bugzilla::Util.
if (exists $ENV{'SERVER_SOFTWARE'}) {
- my $cgi = Bugzilla->cgi;
+ my $cgi = eval { Bugzilla->cgi } || eval { require CGI; return CGI->new() };
$requested = $cgi->http('Accept-Language') || '';
my $lang = $cgi->cookie('LANG');
push(@wanted, $lang) if $lang;
@A <=> @B;
}
+sub no_checksetup_from_cgi {
+ print "Content-Type: text/html; charset=UTF-8\r\n\r\n";
+ print install_string('no_checksetup_from_cgi');
+ exit;
+}
+
######################
# Helper Subroutines #
######################
# Live Code
######################################################################
+# Do not run checksetup.pl from the web browser.
+Bugzilla::Install::Util::no_checksetup_from_cgi() if $ENV{'SERVER_SOFTWARE'};
+
# When we're running at the command line, we need to pick the right
# language before ever displaying any string.
init_console();
If you ever used a version of Bugzilla before 2.22, we STRONGLY
recommend that you stop checksetup.pl NOW and run contrib/recode.pl.
+END
+ no_checksetup_from_cgi => <<END,
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>checksetup.pl cannot run from a web browser</title>
+ </head>
+
+ <body>
+ <h1>checksetup.pl cannot run from a web browser</h1>
+ <p>
+ You <b>must not</b> execute this script from your web browser.
+ To install or upgrade Bugzilla, run this script from
+ the command-line (e.g. <tt>bash</tt> or <tt>ssh</tt> on Linux
+ or <tt>cmd.exe</tt> on Windows), and follow instructions given there.
+ </p>
+
+ <p>
+ For more information on how to install Bugzilla, please
+ <a href="http://www.bugzilla.org/docs/">read the documentation</a>
+ available on the official Bugzilla website.
+ </p>
+ </body>
+</html>
END
patchutils_missing => <<'END',
OPTIONAL NOTE: If you want to be able to use the 'difference between two