~ubuntu-branches/ubuntu/oneiric/bugzilla/oneiric

« back to all changes in this revision

Viewing changes to Bugzilla/Auth/Login/CGI.pm

  • Committer: Bazaar Package Importer
  • Author(s): Raphael Bossek
  • Date: 2008-06-27 22:34:34 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20080627223434-0ib57vstn43bb4a3
Tags: 3.0.4.1-1
* Update of French, Russian and German translations. (closes: #488251)
* Added Bulgarian and Belarusian translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- Mode: perl; indent-tabs-mode: nil -*-
2
 
#
3
 
# The contents of this file are subject to the Mozilla Public
4
 
# License Version 1.1 (the "License"); you may not use this file
5
 
# except in compliance with the License. You may obtain a copy of
6
 
# the License at http://www.mozilla.org/MPL/
7
 
#
8
 
# Software distributed under the License is distributed on an "AS
9
 
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10
 
# implied. See the License for the specific language governing
11
 
# rights and limitations under the License.
12
 
#
13
 
# The Original Code is the Bugzilla Bug Tracking System.
14
 
#
15
 
# The Initial Developer of the Original Code is Netscape Communications
16
 
# Corporation. Portions created by Netscape are
17
 
# Copyright (C) 1998 Netscape Communications Corporation. All
18
 
# Rights Reserved.
19
 
#
20
 
# Contributor(s): Terry Weissman <terry@mozilla.org>
21
 
#                 Dan Mosedale <dmose@mozilla.org>
22
 
#                 Joe Robins <jmrobins@tgix.com>
23
 
#                 Dave Miller <justdave@syndicomm.com>
24
 
#                 Christopher Aillon <christopher@aillon.com>
25
 
#                 Gervase Markham <gerv@gerv.net>
26
 
#                 Christian Reis <kiko@async.com.br>
27
 
#                 Bradley Baetz <bbaetz@acm.org>
28
 
#                 Erik Stambaugh <erik@dasbistro.com>
29
 
#                 Max Kanat-Alexander <mkanat@bugzilla.org>
30
 
 
31
 
package Bugzilla::Auth::Login::CGI;
32
 
use strict;
33
 
use base qw(Bugzilla::Auth::Login);
34
 
use constant user_can_create_account => 1;
35
 
 
36
 
use Bugzilla::Constants;
37
 
use Bugzilla::WebService::Constants;
38
 
use Bugzilla::Util;
39
 
use Bugzilla::Error;
40
 
 
41
 
sub get_login_info {
42
 
    my ($self) = @_;
43
 
    my $cgi = Bugzilla->cgi;
44
 
 
45
 
    my $username = trim($cgi->param("Bugzilla_login"));
46
 
    my $password = $cgi->param("Bugzilla_password");
47
 
 
48
 
    $cgi->delete('Bugzilla_login', 'Bugzilla_password');
49
 
 
50
 
    if (!defined $username || !defined $password) {
51
 
        return { failure => AUTH_NODATA };
52
 
    }
53
 
 
54
 
    return { username => $username, password => $password };
55
 
}
56
 
 
57
 
sub fail_nodata {
58
 
    my ($self) = @_;
59
 
    my $cgi = Bugzilla->cgi;
60
 
    my $template = Bugzilla->template;
61
 
 
62
 
    if (Bugzilla->error_mode == Bugzilla::Constants::ERROR_MODE_DIE_SOAP_FAULT) {
63
 
        die SOAP::Fault
64
 
            ->faultcode(ERROR_AUTH_NODATA)
65
 
            ->faultstring('Login Required');
66
 
    }
67
 
 
68
 
    # Redirect to SSL if required
69
 
    if (Bugzilla->params->{'sslbase'} ne '' 
70
 
        and Bugzilla->params->{'ssl'} ne 'never') 
71
 
    {
72
 
        $cgi->require_https(Bugzilla->params->{'sslbase'});
73
 
    }
74
 
    print $cgi->header();
75
 
    $template->process("account/auth/login.html.tmpl",
76
 
                       { 'target' => $cgi->url(-relative=>1) }) 
77
 
        || ThrowTemplateError($template->error());
78
 
    exit;
79
 
}
80
 
 
81
 
1;