annotate usrajax.php @ 1087:4c76b4994414

Somewhat refactor usrajax and voting.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 26 Jan 2017 00:38:06 +0200
parents 7da8bde9b7be
children 95b74632cfe2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1069
5f92fa5e683a Refactor how the "AJAX" stuff works.
Matti Hamalainen <ccr@tnsp.org>
parents: 1001
diff changeset
1 <?php
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
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: 153
diff changeset
4 // User actions page AJAX backend module
1072
7da8bde9b7be Bump copyrights.
Matti Hamalainen <ccr@tnsp.org>
parents: 1069
diff changeset
5 // (C) Copyright 2012-2017 Tecnic Software productions (TNSP)
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 //
f36ebd03afd6 User AJAX.
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: 165
diff changeset
8 require_once "mconfig.inc.php";
8df523e6326a User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents: 165
diff changeset
9 require_once "msite.inc.php";
8df523e6326a User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents: 165
diff changeset
10 require_once "msession.inc.php";
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11
161
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
12 //
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
13 // Update one vote (prevalidated)
161
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
14 //
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
15 function stUpdateVote($key_id, $entry_id, $vote)
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 {
161
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
17 // Check if the vote already exists
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
18 $sql = stPrepareSQL("SELECT id FROM votes WHERE key_id=%d AND entry_id=%d",
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
19 $key_id, $entry_id);
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 if (($res = stFetchSQLColumn($sql)) === false)
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 {
161
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
23 // Didn't exist, insert it
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 $sql = stPrepareSQL(
762
539bfbdd43ec Add timestamps to votes, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 739
diff changeset
25 "INSERT INTO votes (key_id,entry_id,value,utime) VALUES (%d,%d,%d,%d)",
539bfbdd43ec Add timestamps to votes, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 739
diff changeset
26 $key_id, $entry_id, $vote, time());
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
27 }
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28 else
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 {
161
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
30 // Existed, thusly update
775
62a98cb255f7 Oops, 100L .. a remnant of SQL code change experiment. Fixed.
Matti Hamalainen <ccr@tnsp.org>
parents: 762
diff changeset
31 $sql = stPrepareSQL(
762
539bfbdd43ec Add timestamps to votes, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 739
diff changeset
32 "UPDATE votes SET value=%d,utime=%d WHERE key_id=%d AND entry_id=%d",
539bfbdd43ec Add timestamps to votes, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 739
diff changeset
33 $vote, time(), $key_id, $entry_id);
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34 }
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35
225
1bb4f4bcb027 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 216
diff changeset
36 return stExecSQL($sql);
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 }
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39
739
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
40 function stCheckVoteValue($id, &$value)
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
41 {
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
42 return
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
43 stChkRequestItem($id, $value,
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
44 array(CHK_TYPE, VT_INT, "Invalid entry vote value data."),
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
45 array(CHK_RANGE, VT_INT, array(stGetSetting("voteMin"), stGetSetting("voteMax")), "Invalid vote value, not in range."));
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
46 }
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
47
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
48
165
15182643d672 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 162
diff changeset
49 //
15182643d672 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 162
diff changeset
50 // Initialize
15182643d672 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 162
diff changeset
51 //
360
2af8458058ab Implement CSRF token checks.
Matti Hamalainen <ccr@tnsp.org>
parents: 332
diff changeset
52 if (!stUserSessionAuth() || !stCSRFCheck())
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53 {
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
54 stSetupCacheControl();
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 stSessionEnd(SESS_USER);
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57
789
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
58 switch (stGetRequestItem("action"))
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
59 {
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
60 case "submit":
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
61 header("Location: ".stGetRequestItem("onerror", stGetSetting("defaultPage")));
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
62 break;
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
63
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
64 default:
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
65 stError("You are not authenticated currently. Try to login again.");
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
66 stSetStatus(902, "Not authenticated.");
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
67 stDumpAJAXStatusErrors(FALSE);
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
68 break;
24bbd1f89794 Add few new settings, bump database version.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
69 }
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70 exit;
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71 }
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72
544
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
73 ob_start();
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
74
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
75 stSetupCacheControl();
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
76
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 if (!stConnectSQLDB())
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78 die("Could not connect to SQL database.");
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
79
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
80 stReloadSettings();
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
81
310
8098b5b80f8c We won't be checking key validity while session is in progress, thus get rid
Matti Hamalainen <ccr@tnsp.org>
parents: 294
diff changeset
82 $voteKeyId = stGetSessionItem("key_id");
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
84 //
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
85 // Check vote key validity
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
86 //
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
87 $sql = stPrepareSQL("SELECT * FROM votekeys WHERE id=%d", $voteKeyId);
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
88 if (($key = stFetchSQL($sql)) === false)
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
89 {
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
90 stError("Votekey does not exist.");
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
91 }
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
92 else
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
93 {
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
94 // Validate login based on current vote key mode
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
95 switch (stGetSetting("voteKeyMode"))
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
96 {
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
97 case VOTE_ACTIVATE:
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
98 if ($key["active"] == 0)
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
99 stError("Votekey is not active.");
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
100 break;
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
101
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
102 case VOTE_ASSIGN:
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
103 $sql = stPrepareSQL("SELECT id FROM attendees WHERE key_id=%d", $key["id"]);
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
104 if (stFetchSQL($sql) === false)
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
105 stError("Votekey is not assigned to any user.");
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
106 break;
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
107 }
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
108 }
310
8098b5b80f8c We won't be checking key validity while session is in progress, thus get rid
Matti Hamalainen <ccr@tnsp.org>
parents: 294
diff changeset
109
161
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
110 //
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
111 // Handle the request
50032763bc79 Clean up the code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
112 //
216
bcc3c4696b3e Some more work.
Matti Hamalainen <ccr@tnsp.org>
parents: 211
diff changeset
113 switch (stGetRequestItem("action"))
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
114 {
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
115 case "set":
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
116 //
153
aecf145e7c70 Some work on the voting backend.
Matti Hamalainen <ccr@tnsp.org>
parents: 123
diff changeset
117 // Set vote, if voting is enabled
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
118 //
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
119 $ajax = TRUE;
245
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
120 if (!stChkSetting("allowVoting"))
294
efba5a51f8fa Fix some 10L's ... durr.
Matti Hamalainen <ccr@tnsp.org>
parents: 245
diff changeset
121 stError("Voting is not enabled.");
245
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
122 else
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
123 if (stChkRequestItem("entry_id", $entry_id,
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
124 array(CHK_TYPE, VT_INT, "Invalid data.")) &&
739
17820305bc77 Clean up vote handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
125 stCheckVoteValue("vote", $vote))
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 {
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
127 // Check if the entry_id is actually valid
580
3929a5a87815 Use the new transaction functions here as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 571
diff changeset
128 stDBBeginTransaction();
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
129 $sql = stPrepareSQL("SELECT * FROM entries WHERE id=%d", $entry_id);
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
130 if (($entry = stFetchSQL($sql)) !== false)
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
131 {
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
132 // Check if the compo is valid for the entry
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
133 $sql = stPrepareSQL("SELECT * FROM compos WHERE id=%d", $entry["compo_id"]);
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
134 if (($compo = stFetchSQL($sql)) !== false && $compo["voting"] != 0)
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
135 stUpdateVote($voteKeyId, $entry_id, $vote);
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
136 }
580
3929a5a87815 Use the new transaction functions here as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 571
diff changeset
137 stDBCommitTransaction();
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
138 }
245
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
139 break;
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
140
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
141 case "submit":
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
142 //
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
143 // Submit all votes, if voting is enabled
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
144 //
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
145 $ajax = FALSE;
245
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
146 if (!stChkSetting("allowVoting"))
294
efba5a51f8fa Fix some 10L's ... durr.
Matti Hamalainen <ccr@tnsp.org>
parents: 245
diff changeset
147 stError("Voting is not enabled.");
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
148 else
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
149 foreach (stExecSQL("SELECT * FROM compos WHERE visible<>0 AND voting<>0") as $compo)
245
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
150 {
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
151 stDBBeginTransaction();
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
152 foreach (stExecSQL("SELECT * FROM entries WHERE compo_id=".$compo["id"]) as $entry)
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
153 {
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
154 if (stCheckVoteValue("ventry".$entry["id"], $value))
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
155 {
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
156 if (!stUpdateVote($voteKeyId, $entry["id"], $value))
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
157 stError("Could not set vote for compo #".$compo["id"].", entry #".$entry["id"]);
316
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
158 }
54dfab6ba12c Work on voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 310
diff changeset
159 }
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
160 stDBCommitTransaction();
245
bb96aef874a9 Work on the voting backend code.
Matti Hamalainen <ccr@tnsp.org>
parents: 225
diff changeset
161 }
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
162 stSetSessionItem("mode", "done");
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
163 break;
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
164
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
165 default:
787
8f570449f9e7 Improve error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 775
diff changeset
166 stSetStatus(902, "Operation not supported.");
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
167 break;
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
168 }
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
169
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
170
544
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
171 if ($errorSet)
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
172 {
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
173 ob_clean();
1087
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
174 stSetSessionItem("mode", "error");
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
175 stSetSessionItem("error", $errorMsgs);
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
176 }
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
177
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
178 if ($ajax)
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
179 {
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
180 if ($errorSet)
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
181 stDumpAJAXStatusErrors();
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
182 }
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
183 else
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
184 {
4c76b4994414 Somewhat refactor usrajax and voting.
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
185 header("Location: ".stGetRequestItem("goto", "vote"));
544
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
186 }
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
187
b4581dc165dc Add output buffering.
Matti Hamalainen <ccr@tnsp.org>
parents: 520
diff changeset
188 ob_end_flush();
93
f36ebd03afd6 User AJAX.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
189 ?>