r130: Fixed the issue where if you signed in with remember me, logged into the admin...
[bugdar.git] / login.php
1 <?php
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # BugStrike [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
12
13 $fetchtemplates = array(
14 'login'
15 );
16
17 require_once('./global.php');
18
19 // ###################################################################
20
21 if ($bugsys->userinfo['userid'] AND $_REQUEST['do'] != 'logout' AND $_POST['do'] != 'cplogin')
22 {
23 echo 'You are already logged in.';
24 exit;
25 }
26
27 // ###################################################################
28
29 if (empty($_REQUEST['do']))
30 {
31 eval('$template->flush("' . $template->fetch('login') . '");');
32 }
33
34 // ###################################################################
35
36 if ($_POST['do'] == 'login' OR $_POST['do'] == 'cplogin')
37 {
38 $keeplogin = intval($bugsys->in['rememberme']);
39 if ($_POST['cplogin'])
40 {
41 $keeplogin = 0;
42 }
43
44 if ($_SERVER['HTTP_REFERER'] AND !$_POST['goindex'])
45 {
46 $url = $_SERVER['HTTP_REFERER'];
47 }
48 else
49 {
50 $url = 'index.php';
51 }
52
53 $userinfo = $db->query_first("SELECT * FROM user WHERE email = '" . $bugsys->in['email'] . "'");
54 if (md5(md5($bugsys->in['password']) . md5($userinfo['salt'])) == $userinfo['password'])
55 {
56 if (!$bugsys->userinfo['userid'])
57 {
58 $funct->cookie(COOKIE_PREFIX . 'userid', $userinfo['userid'], $keeplogin);
59 $funct->cookie(COOKIE_PREFIX . 'authkey', $userinfo['authkey'], $keeplogin);
60 }
61
62 if ($_POST['do'] == 'cplogin')
63 {
64 $funct->cookie(COOKIE_PREFIX . 'adminsession', md5(md5($userinfo['authkey']) . md5($userinfo['email']) . md5($userinfo['userid'])), false);
65 }
66 }
67 else
68 {
69 if (!$bugsys->userinfo['userid'])
70 {
71 $funct->cookie(COOKIE_PREFIX . 'userid');
72 $funct->cookie(COOKIE_PREFIX . 'authkey');
73 }
74 echo 'Invalid email or password.';
75 exit;
76 }
77
78
79 echo 'You are now logged in :-)';
80
81 header("Location: $url");
82 }
83
84 // ###################################################################
85
86 if ($_REQUEST['do'] == 'logout')
87 {
88 if ($bugsys->userinfo['userid'])
89 {
90 $funct->cookie(COOKIE_PREFIX . 'userid');
91 $funct->cookie(COOKIE_PREFIX . 'authkey');
92 $funct->cookie(COOKIE_PREFIX . 'adminsession');
93 }
94 else
95 {
96 echo 'You need to be logged in!';
97 }
98 }
99
100 /*=====================================================================*\
101 || ###################################################################
102 || # $HeadURL$
103 || # $Id$
104 || ###################################################################
105 \*=====================================================================*/
106 ?>