123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/usr/bin/env perl -wT
- # -*- Mode: perl; indent-tabs-mode: nil -*-
- #
- # The contents of this file are subject to the Mozilla 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/MPL/
- #
- # 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 Bugzilla Bug Tracking System.
- #
- # 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): Jacob Steenhagen <jake@bugzilla.org>
- # Frédéric Buclin <LpSolit@gmail.com>
- ###############################################################################
- # Script Initialization
- ###############################################################################
- # Make it harder for us to do dangerous things in Perl.
- use strict;
- # Include the Bugzilla CGI and general utility library.
- use lib qw(. lib);
- use Bugzilla;
- use Bugzilla::Constants;
- use Bugzilla::Error;
- use Bugzilla::Update;
- # Check whether or not the user is logged in
- my $user = Bugzilla->login(LOGIN_OPTIONAL);
- ###############################################################################
- # Main Body Execution
- ###############################################################################
- my $cgi = Bugzilla->cgi;
- # Force to use HTTPS unless Bugzilla->params->{'ssl'} equals 'never'.
- # This is required because the user may want to log in from here.
- if ($cgi->protocol ne 'https' && Bugzilla->params->{'sslbase'} ne ''
- && Bugzilla->params->{'ssl'} ne 'never')
- {
- $cgi->require_https(Bugzilla->params->{'sslbase'});
- }
- my $template = Bugzilla->template;
- my $vars = {};
- # Return the appropriate HTTP response headers.
- print $cgi->header();
- if ($user->in_group('admin')) {
- # If 'urlbase' is not set, display the Welcome page.
- unless (Bugzilla->params->{'urlbase'}) {
- $template->process('welcome-admin.html.tmpl')
- || ThrowTemplateError($template->error());
- exit;
- }
- # Inform the administrator about new releases, if any.
- $vars->{'release'} = Bugzilla::Update::get_notifications();
- }
- # Generate and return the UI (HTML page) from the appropriate template.
- $template->process("index.html.tmpl", $vars)
- || ThrowTemplateError($template->error());
|