aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/login.php
blob: 793e261ea19f385c5afcf815f45b98f4f26f1023 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
/***************************************************************************
 *                                login.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id$
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_LOGIN', true);
define('IN_PHPBB', true);

$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// Set page ID for session management
$user->start();
$user->setup();
$auth->acl($user->data);
// End session management

extract($_GET);
extract($_POST);

$redirect = (!empty($redirect)) ? $_SERVER['QUERY_STRING'] : '';

// Do the login/logout/form/whatever
if (isset($login) || isset($logout))
{
	if (isset($login) && $user->data['user_id'] == ANONYMOUS)
	{
		$autologin = (!empty($autologin)) ? true : false;

		// Is the board disabled? Are we an admin? No, then back to the index we go
		if (!empty($config['board_disable']) && !$auth->acl_get('a_'))
		{
			redirect("index.$phpEx$SID");
		}

		if (!$auth->login($username, $password, $autologin))
		{
			$template->assign_vars(array(
				'META' => '<meta http-equiv="refresh" content="3;url=' . "login.$phpEx$SID&amp;redirect=$redirect" . '">')
			);

			$message = $user->lang['Error_login'] . '<br /><br />' . sprintf($user->lang['Click_return_login'], '<a href="' . "login.$phpEx$SID&amp;redirect=$redirect" . '">', '</a>') . '<br /><br />' .  sprintf($user->lang['Click_return_index'], '<a href="' . "index.$phpEx$SID" . '">', '</a>');
			trigger_error($message);
		}
	}
	else if ($user->data['user_id'] != ANONYMOUS)
	{
		$user->destroy();
	}

	//
	// Redirect to wherever we're supposed to go ...
	//
	$redirect_url = ($redirect) ? preg_replace('/^.*?redirect=(.*?)&(.*?)$/', '\\1' . $SID . '&\\2', $redirect) : 'index.'.$phpEx;
	redirect($redirect_url);
}

if ($user->data['user_id'] == ANONYMOUS)
{
	$template->assign_vars(array(
		'L_ENTER_PASSWORD'	=> $user->lang['Enter_password'],
		'L_SEND_PASSWORD' 	=> $user->lang['Forgotten_password'],

		'U_SEND_PASSWORD' 	=> "ucp.$phpEx$SID&amp;mode=sendpassword",

		'S_HIDDEN_FIELDS' 	=> '<input type="hidden" name="redirect" value="' . $redirect . '" />')
	);

	$page_title = $user->lang['Login'];
	include($phpbb_root_path . 'includes/page_header.'.$phpEx);

	$template->set_filenames(array(
		'body' => 'login_body.html')
	);
	make_jumpbox('viewforum.'.$phpEx, $forum_id);

	include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
else
{
	redirect("index.$phpEx$SID");
}

?>