annotate usrlogin.php @ 1074:48e16e856646

Use long tags.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 24 Jan 2017 17:57:38 +0200
parents 7da8bde9b7be
children 00632d30bafe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1074
48e16e856646 Use long tags.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
1 <?php
155
5b92f130ba87 Add copyright header blurbs.
Matti Hamalainen <ccr@tnsp.org>
parents: 129
diff changeset
2 //
571
ce11ea112a65 Change the header blurb a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 565
diff changeset
3 // FAPWeb - Simple Web-based Demoparty Management System
155
5b92f130ba87 Add copyright header blurbs.
Matti Hamalainen <ccr@tnsp.org>
parents: 129
diff changeset
4 // Administration interface session login handler
1072
7da8bde9b7be Bump copyrights.
Matti Hamalainen <ccr@tnsp.org>
parents: 1001
diff changeset
5 // (C) Copyright 2012-2017 Tecnic Software productions (TNSP)
155
5b92f130ba87 Add copyright header blurbs.
Matti Hamalainen <ccr@tnsp.org>
parents: 129
diff changeset
6 //
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 $sessionType = "user";
175
8df523e6326a User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
8 require_once "mconfig.inc.php";
8df523e6326a User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
9 require_once "msite.inc.php";
8df523e6326a User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
10 require_once "msession.inc.php";
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11
156
fa7f3defffd0 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
12 //
fa7f3defffd0 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
13 // Initialize
fa7f3defffd0 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
14 //
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15 stSetupCacheControl();
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 if (!stConnectSQLDB())
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18 die("Could not connect to SQL database.");
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20 stReloadSettings();
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22
156
fa7f3defffd0 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
23 //
fa7f3defffd0 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
24 // Authenticate
fa7f3defffd0 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
25 //
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
26 $gotoPage = stGetRequestItem("goto", FALSE);
306
6610311ac48e Improve user login handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 304
diff changeset
27 $errorPage = stGetRequestItem("error", FALSE);
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28 $password = stGetRequestItem("key", FALSE);
306
6610311ac48e Improve user login handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 304
diff changeset
29 $error = 0;
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30
311
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
31 $sql = stPrepareSQL("SELECT * FROM votekeys WHERE key=%s", $password);
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
32 if (($key = stFetchSQL($sql)) !== false)
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33 {
554
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
34 //
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
35 // Validate login based on current vote key mode
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
36 //
311
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
37 switch (stGetSetting("voteKeyMode"))
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
38 {
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
39 case VOTE_ACTIVATE:
315
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
40 if ($key["active"] == 0)
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
41 $error = 3;
311
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
42 break;
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
43
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
44 case VOTE_ASSIGN:
315
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
45 $sql = stPrepareSQL("SELECT id FROM attendees WHERE key_id=%d", $key["id"]);
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
46 if (stFetchSQL($sql) === false)
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
47 $error = 3;
311
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
48 break;
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
49 }
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
50
554
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
51 //
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
52 // Okay, attempt to set up session if no error
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
53 //
315
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
54 if ($error == 0)
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55 {
315
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
56 if (!stSessionStart(SESS_USER, $password, "userTimeout"))
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
57 {
874
ffb5643eff4f Rename functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
58 stLogError("User session AUTH LOGIN failed (session setup)");
315
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
59 $error = 2;
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
60 }
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
61 else
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
62 {
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
63 stSetSessionItem("key_id", $key["id"]);
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
64 stSetSessionItem("mode", stGetRequestItem("mode", "error"));
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
65 }
311
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
66 }
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67 }
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
68 else
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69 {
874
ffb5643eff4f Rename functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
70 stLogError("User session AUTH LOGIN failed (password)");
306
6610311ac48e Improve user login handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 304
diff changeset
71 $error = 1;
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 }
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73
554
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
74
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
75 // Select destination page based on error status and
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
76 // if error page has been set. Use common destination page
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
77 // if no error or no error page.
325
aac3bdd73ec1 More work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 323
diff changeset
78 $nextPage = ($error != 0 && $errorPage !== FALSE) ? $errorPage : $gotoPage;
306
6610311ac48e Improve user login handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 304
diff changeset
79
554
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
80 // Okay, if destination page is set, go there.
eee6b811f58a Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 325
diff changeset
81 // Otherwise, just use the default page.
311
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
82 header("Location: ".
2f46b6254ff2 We'll be checking key validity in login phase, so start working on that.
Matti Hamalainen <ccr@tnsp.org>
parents: 306
diff changeset
83 ($nextPage !== FALSE ? $nextPage : stGetSetting("defaultPage")).
323
ab675dc128ac Fix login code.
Matti Hamalainen <ccr@tnsp.org>
parents: 315
diff changeset
84 ($error ? "?error=".$error : ""));
315
100d9f7f9dde Implement bits of user login checking.
Matti Hamalainen <ccr@tnsp.org>
parents: 311
diff changeset
85
110
ff511f5351df Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 ?>