<?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.                      
 *                                                          
 * 
 ***************************************************************************/ 
include('extension.inc');
include('common.'.$phpEx);

//
// Set page ID for session management
//
$userdata = session_pagestart($user_ip, PAGE_LOGIN, $session_length);
init_userprefs($userdata);
//
// End session management
//

if(isset($HTTP_POST_VARS['submit']) || isset($HTTP_GET_VARS['submit']))
{
	if($HTTP_POST_VARS['submit'] == "Login" && !$userdata['session_logged_in'])
	{

		$username = $HTTP_POST_VARS['username'];
		$password = $HTTP_POST_VARS['password'];
		$sql = "SELECT user_id, username, user_password, user_active
			FROM ".USERS_TABLE."
			WHERE username = '$username'";
		$result = $db->sql_query($sql);
		if(!$result)
		{
			error_die(SQL_QUERY, "Error in obtaining userdata : login", __LINE__, __FILE__);
		}
	
		$rowresult = $db->sql_fetchrow($result);
		if(count($rowresult))
		{
			if((md5($password) == $rowresult['user_password']) && $rowresult['user_active'] != 0)
			{	
				$autologin = (isset($HTTP_POST_VARS['autologin'])) ? TRUE : FALSE;

				$session_id = session_begin($rowresult['user_id'], $user_ip, PAGE_INDEX, $session_length, TRUE, $autologin);
				if($session_id)
				{
					if(!empty($HTTP_POST_VARS['forward_page']))
					{
						header(append_sid("Location: ".$HTTP_POST_VARS['forward_page']));
					}
					else
					{
						header(append_sid("Location: index.$phpEx"));
					}
				}
				else
				{
					error_die(GENERAL_ERROR, "Couldn't start session : login", __LINE__, __FILE__);
				}
			}
			else
			{
				error_die(LOGIN_FAILED);
			}
		}
		else
		{
			error_die(LOGIN_FAILED);
		}
	}
	else if($HTTP_GET_VARS['submit'] == "logout" && $userdata['session_logged_in'])
	{
		if($userdata['session_logged_in'])
		{
			session_end($userdata['session_id'], $userdata['user_id']);
		}
		if(!empty($HTTP_POST_VARS['forward_page']))
		{
			header(append_sid("Location: ".$HTTP_POST_VARS['forward_page']));
		}
		else
		{
			header(append_sid("Location: index.$phpEx"));
		}
	}
	else
	{
		if(!empty($HTTP_POST_VARS['forward_page']))
		{
			header(append_sid("Location: ".$HTTP_POST_VARS['forward_page']));
		}
		else
		{
			header(append_sid("Location: index.$phpEx"));
		}
	}
}
else
{
	//
	// Do a full login page dohickey
	//
	$page_title = "Log In";
	include('includes/page_header.'.$phpEx);
	$template->set_filenames(
		array(
			"body" => "login_body.tpl",
		)
	);
	if(isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']))
	{
		$mode = (isset($HTTP_POST_VARS['mode'])) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
		$forward_page .= "?mode=".$mode;
	}

	$username = ($userdata['user_id'] != ANONYMOUS) ? $userdata['username'] : "";

	$template->assign_vars(array(
		"L_SEND_PASSWORD" => $lang['Forgotten_password'],

		"FORWARD_PAGE" => $forward_page,
		"USERNAME" => $username,

		"U_SEND_PASSWORD" => append_sid("sendpassword.".$phpEx)
		)
	);

	$template->pparse("body");

	include('includes/page_tail.'.$phpEx);

}

?>