annotate msite.inc.php @ 1120:b2bca5f6d0ff default tip

Cosmetic cleanup: remove trailing whitespace.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 13 Dec 2020 13:47:13 +0200
parents 29206517d32e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1071
76e11ae923a7 Use long tags.
Matti Hamalainen <ccr@tnsp.org>
parents: 1049
diff changeset
1 <?php
0
8019b357cc03 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 //
571
ce11ea112a65 Change the header blurb a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 570
diff changeset
3 // FAPWeb - Simple Web-based Demoparty Management System
33
5bf22431176c Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 32
diff changeset
4 // Generic and miscellaneous site support code
1072
7da8bde9b7be Bump copyrights.
Matti Hamalainen <ccr@tnsp.org>
parents: 1071
diff changeset
5 // (C) Copyright 2012-2017 Tecnic Software productions (TNSP)
0
8019b357cc03 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 //
175
8df523e6326a User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
7 require_once "msitegen.inc.php";
1115
24e6915fc0fb Move database field length definitions from msite.inc.php to dbdefs.inc.php
Matti Hamalainen <ccr@tnsp.org>
parents: 1114
diff changeset
8 require_once "dbdefs.inc.php";
51
7bdf89601ba0 Work on session stuff.
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
9
184
1b30c2107e5b Add function for validating input with different definable conditions. Use
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
10 // Define modes of party information display system
410
298822ed0420 Change display mode constant values.
Matti Hamalainen <ccr@tnsp.org>
parents: 407
diff changeset
11 define("SMODE_DISABLED", 0);
298822ed0420 Change display mode constant values.
Matti Hamalainen <ccr@tnsp.org>
parents: 407
diff changeset
12 define("SMODE_ROTATE", 1);
298822ed0420 Change display mode constant values.
Matti Hamalainen <ccr@tnsp.org>
parents: 407
diff changeset
13 define("SMODE_COMPO", 2);
139
75cf14ee99a7 More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
14
8
4c5f651aa107 Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 7
diff changeset
15
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
16 //
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
17 // File format classes
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
18 //
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
19 define("EFILE_NONE", 0);
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
20 define("EFILE_IMAGE", 1);
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
21 define("EFILE_AUDIO", 2); // Also preview types
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
22
824
6f52c19b00f4 Fix some 10L's.
Matti Hamalainen <ccr@tnsp.org>
parents: 823
diff changeset
23 define("EFILE_VIDEO", 3);
839
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
24 define("EFILE_TEXT", 4);
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
25 define("EFILE_BINARY", 5);
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
26 define("EFILE_ARCHIVE", 6);
703
242cb053fbb2 Add array/list of preview types and descriptions for them.
Matti Hamalainen <ccr@tnsp.org>
parents: 702
diff changeset
27
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
28
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
29 //
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
30 // Entry preview type (value)
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
31 //
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
32 $previewTypeList = array(
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
33 EFILE_NONE => array("No previews" , "Default"),
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
34 EFILE_IMAGE => array("Image file" , "Image"),
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
35 EFILE_AUDIO => array("Audio file" , "Audio"),
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
36 );
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
37
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
38
702
c527b42a7857 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 700
diff changeset
39 //
c527b42a7857 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 700
diff changeset
40 // Entry flags (bitfield)
c527b42a7857 Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 700
diff changeset
41 //
998
b0ef1c1b0eeb Add a new entry flag, update comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 980
diff changeset
42 define("EFLAG_DISQUALIFIED" , 1); // Entry is disqualified
b0ef1c1b0eeb Add a new entry flag, update comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 980
diff changeset
43 define("EFLAG_PROBLEMS" , 2); // Has some problems
b0ef1c1b0eeb Add a new entry flag, update comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 980
diff changeset
44 define("EFLAG_LOCKED" , 4); // Can't be edited by non-admins
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
45
690
bad79296eb34 Cleanups, rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 680
diff changeset
46 $entryFlagsList = array(
bad79296eb34 Cleanups, rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 680
diff changeset
47 EFLAG_DISQUALIFIED => array("Disqualified", "img/disqualified.png"),
bad79296eb34 Cleanups, rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 680
diff changeset
48 EFLAG_PROBLEMS => array("Has problems", "img/problems.png"),
998
b0ef1c1b0eeb Add a new entry flag, update comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 980
diff changeset
49 EFLAG_LOCKED => array("LOCKED", "img/locked.png"),
690
bad79296eb34 Cleanups, rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 680
diff changeset
50 );
bad79296eb34 Cleanups, rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 680
diff changeset
51
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
52
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
53 //
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
54 // Results output flags
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
55 //
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
56 define("RFLAG_NORMAL", 0);
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
57 define("RFLAG_DISQUALIFIED", 1);
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
58 define("RFLAG_HIDDEN_COMPOS", 2);
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
59
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
60 //
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
61 // Competition types
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
62 //
606
3d2b70fbeb78 Slight cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 605
diff changeset
63 define("COMPO_NORMAL", 0); // Normal voting compo, points determine placement
3d2b70fbeb78 Slight cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 605
diff changeset
64 define("COMPO_POINTS", 1); // Assigned points, points determines placement (no voting)
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
65 define("COMPO_ASSIGN", 2); // Assigned places (no voting)
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
66
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
67
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
68 $compoModeData = array(
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
69 COMPO_NORMAL => array("Normal",
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
70 "Normal voting compo.",
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
71 ),
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
72 COMPO_POINTS => array("Points",
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
73 "Assigned points (no voting).",
745
7ac6d1fdc078 Add two new fields to compoModeData.
Matti Hamalainen <ccr@tnsp.org>
parents: 742
diff changeset
74 "Points",
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
75 ),
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
76 COMPO_ASSIGN => array("Assigned",
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
77 "Assigned places (no points, no voting).",
745
7ac6d1fdc078 Add two new fields to compoModeData.
Matti Hamalainen <ccr@tnsp.org>
parents: 742
diff changeset
78 "Place",
508
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
79 ),
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
80 );
b6fe46c86ff3 Add definitions for entry flags and compo types. Not used yet (though the
Matti Hamalainen <ccr@tnsp.org>
parents: 506
diff changeset
81
641
1a123c6c2241 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 640
diff changeset
82
94
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
83 //
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
84 // Different voting modes
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
85 //
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
86 define("VOTE_FREELY", 0);
274
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
87 define("VOTE_ACTIVATE", 1);
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
88 define("VOTE_ASSIGN", 2);
94
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
89
274
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
90 $voteModeData = array(
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
91 VOTE_FREELY => array("Freeform voting",
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
92 "User keys are not tied to attendees, and do not need to be activated. ".
274
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
93 "Take one printed key slip, give it to attendee."
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
94 ),
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
95 VOTE_ACTIVATE => array("Key activation",
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
96 "User keys are not tied to attendees, but require manual activation. ".
274
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
97 "Take one printed key slip, find it by the index number in the list below, set to activated. ".
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
98 "Give key slip to attendee."
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
99 ),
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
100 VOTE_ASSIGN => array("Assigned keys",
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
101 "User keys are tied to attendees, activated by assigning the key to attendee. ".
307
c0d573a5de5b Add procedure description to assigned keys mode.
Matti Hamalainen <ccr@tnsp.org>
parents: 282
diff changeset
102 "Take one printed key slip, find attendee in the list below, enter key ID number, assign, check. ".
c0d573a5de5b Add procedure description to assigned keys mode.
Matti Hamalainen <ccr@tnsp.org>
parents: 282
diff changeset
103 "Give key slip to attendee."
274
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
104 ),
81507072f25d Add explanations of the different voting modes.
Matti Hamalainen <ccr@tnsp.org>
parents: 261
diff changeset
105 );
94
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
106
6edd7d623eab Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents: 87
diff changeset
107
535
88c048f3b9e1 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 533
diff changeset
108 //
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
109 // Data about the file types we use
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
110 //
809
a165d2e101f9 Rename array.
Matti Hamalainen <ccr@tnsp.org>
parents: 808
diff changeset
111 $fileTypeData = array(
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
112 "PNG" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
113 "class" => EFILE_IMAGE,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
114 "type" => EFILE_IMAGE,
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
115 "mime" => "image/png",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
116 "fext" => "png",
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
117 ),
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
118 "JPEG" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
119 "class" => EFILE_IMAGE,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
120 "type" => EFILE_IMAGE,
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
121 "mime" => "image/jpeg",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
122 "fext" => "jpg",
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
123 ),
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
124 "GIF" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
125 "class" => EFILE_IMAGE,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
126 "type" => EFILE_IMAGE,
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
127 "mime" => "image/gif",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
128 "fext" => "gif",
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
129 ),
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
130
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
131 "MP3" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
132 "class" => EFILE_AUDIO,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
133 "type" => EFILE_AUDIO,
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
134 "mime" => "audio/mpeg",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
135 "fext" => "mp3",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
136 "test" => "MPEG ADTS, layer III",
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
137 ),
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
138 "OggVorbis" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
139 "class" => EFILE_AUDIO,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
140 "type" => EFILE_AUDIO,
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
141 "mime" => "audio/ogg; codecs=vorbis",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
142 "fext" => "ogg",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
143 "test" => "Ogg data, Vorbis audio",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
144 ),
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
145 "FLAC" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
146 "class" => EFILE_AUDIO,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
147 "type" => EFILE_AUDIO,
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
148 "mime" => "audio/x-flac",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
149 "fext" => "flac",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
150 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
151 "WAV" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
152 "class" => EFILE_AUDIO,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
153 "type" => EFILE_AUDIO,
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
154 "mime" => "audio/x-wav",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
155 "fext" => "wav",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
156 ),
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
157
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
158 // Special cases
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
159 "ILBM" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
160 "class" => EFILE_IMAGE,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
161 "mime" => "gfx", // Special cases to be converted through gfxconv ..
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
162 "fext" => "lbm",
936
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
163 "test" => "^IFF data, ILBM",
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
164 ),
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
165 "ANIM" => array(
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
166 "class" => EFILE_IMAGE,
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
167 "mime" => "image/x-anim", // Special cases to be converted through gfxconv ..
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
168 "fext" => "anim",
1a3af0ff70a4 Add ANIM type.
Matti Hamalainen <ccr@tnsp.org>
parents: 932
diff changeset
169 "test" => "^IFF data, ILBM",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
170 ),
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
171 "PCX" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
172 "class" => EFILE_IMAGE,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
173 "mime" => "image/x-pcx",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
174 "fext" => "pcx",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
175 "test" => "^PCX ver\. 3\.0",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
176 ),
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
177
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
178 "PTMOD" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
179 "class" => EFILE_AUDIO,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
180 "mime" => "audio/x-mod",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
181 "fext" => "mod",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
182 "test" => "^\d+-channel Protracker module",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
183 ),
937
Matti Hamalainen <ccr@tnsp.org>
parents: 936
diff changeset
184 "FTMOD" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
185 "class" => EFILE_AUDIO,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
186 "mime" => "audio/x-mod",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
187 "fext" => "mod",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
188 "test" => "^\d+-channel Fasttracker module",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
189 ),
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
190 "S3M" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
191 "class" => EFILE_AUDIO,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
192 "mime" => "audio/x-mod",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
193 "fext" => "s3m",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
194 "test" => "^ScreamTracker III Module",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
195 ),
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
196 "XM" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
197 "class" => EFILE_AUDIO,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
198 "mime" => "audio/x-mod",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
199 "fext" => "xm",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
200 "test" => "^Fasttracker II module",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
201 ),
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
202 "IT" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
203 "class" => EFILE_AUDIO,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
204 "mime" => "audio/x-mod",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
205 "fext" => "it",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
206 "test" => "^Impulse Tracker module",
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
207 ),
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
208 "PTM" => array(
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
209 "class" => EFILE_AUDIO,
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
210 "mime" => "audio/x-mod",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
211 "fext" => "ptm",
808
887e88fad15a More filetype data.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
212 "test" => "^Poly Tracker PTM Module",
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
213 ),
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
214
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
215 "AVI" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
216 "class" => EFILE_VIDEO,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
217 "mime" => "video/x-msvideo",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
218 "fext" => "avi",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
219 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
220 "WMV" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
221 "class" => EFILE_VIDEO,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
222 "mime" => "video/x-ms-asf",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
223 "fext" => "wmv",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
224 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
225 "MP4" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
226 "class" => EFILE_VIDEO,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
227 "mime" => "video/mp4",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
228 "fext" => "mp4",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
229 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
230 "MOV" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
231 "class" => EFILE_VIDEO,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
232 "mime" => "video/quicktime",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
233 "fext" => "mov",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
234 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
235 "MKV" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
236 "class" => EFILE_VIDEO,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
237 "mime" => "video/x-matroska",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
238 "fext" => "mkv",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
239 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
240
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
241 // Archives
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
242 "LHA" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
243 "class" => EFILE_ARCHIVE,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
244 "mime" => "application/x-lha",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
245 "fext" => "lha",
1049
03f4b70a2ce8 Add LHarc matching.
Matti Hamalainen <ccr@tnsp.org>
parents: 1032
diff changeset
246 "test" => "^LHarc 1\.x",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
247 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
248 "ZIP" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
249 "class" => EFILE_ARCHIVE,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
250 "mime" => "application/zip",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
251 "fext" => "zip",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
252 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
253 "7ZIP" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
254 "class" => EFILE_ARCHIVE,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
255 "mime" => "application/x-7z-compressed",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
256 "fext" => "7z",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
257 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
258 "RAR" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
259 "class" => EFILE_ARCHIVE,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
260 "mime" => "application/x-rar",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
261 "fext" => "rar",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
262 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
263 "ARJ" => array(
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
264 "class" => EFILE_ARCHIVE,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
265 "mime" => "application/x-arj",
844
fcaafeda4faa Remove "." from file extensions in filetype table.
Matti Hamalainen <ccr@tnsp.org>
parents: 841
diff changeset
266 "fext" => "arj",
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
267 ),
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
268
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
269 // Final fallback
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
270 "MISC" => array(
839
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
271 "class" => EFILE_BINARY,
815
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
272 "mime" => "application/octet-stream",
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
273 "fext" => FALSE,
4df1bfd11131 Add file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 809
diff changeset
274 ),
839
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
275
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
276 "TEXT" => array(
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
277 "class" => EFILE_TEXT,
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
278 "mime" => "text/plain",
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
279 "fext" => FALSE,
43e4a73deaf3 Add some missing file classes.
Matti Hamalainen <ccr@tnsp.org>
parents: 837
diff changeset
280 ),
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
281 );
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
282
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
283
888
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
284 function stFileError($userID, $adminMsg, $userMsg)
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
285 {
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
286 stLogError($adminMsg);
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
287 stError(($userID === 0) ? $adminMsg : $userMsg);
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
288 return FALSE;
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
289 }
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
290
e0903d0c3954 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 887
diff changeset
291
807
0bb4b1973e08 Add file type list.
Matti Hamalainen <ccr@tnsp.org>
parents: 806
diff changeset
292 //
535
88c048f3b9e1 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 533
diff changeset
293 // Party infromation system data/variables handling
88c048f3b9e1 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 533
diff changeset
294 //
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
295 function stReloadDisplayVars()
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
296 {
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
297 global $displayVars, $displayVarsChanged;
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
298
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
299 $displayVars = array();
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
300 $displayVarsChanged = array();
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
301
542
8c1a53532be0 Rename various database tables and column names for better SQL compatibility.
Matti Hamalainen <ccr@tnsp.org>
parents: 535
diff changeset
302 if (($res = stExecSQL("SELECT * FROM display_vars")) !== FALSE)
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
303 {
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
304 foreach ($res as $row)
354
1dd598221874 Simplify code by reusing functions from site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 307
diff changeset
305 $displayVars[$row["key"]] = stGetSQLSettingData($row);
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
306 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
307 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
308
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
309
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
310 function stSaveDisplayVars()
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
311 {
144
c030c3cf0d80 More work on display system.
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
312 global $db, $displayVars, $displayVarsChanged;
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
313
542
8c1a53532be0 Rename various database tables and column names for better SQL compatibility.
Matti Hamalainen <ccr@tnsp.org>
parents: 535
diff changeset
314 foreach (stExecSQL("SELECT * FROM display_vars") as $item)
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
315 if (isset($displayVarsChanged[$item["key"]]))
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
316 {
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
317 $val = $displayVars[$item["key"]];
354
1dd598221874 Simplify code by reusing functions from site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 307
diff changeset
318 stExecSQL(
542
8c1a53532be0 Rename various database tables and column names for better SQL compatibility.
Matti Hamalainen <ccr@tnsp.org>
parents: 535
diff changeset
319 "UPDATE display_vars SET ".stGetSettingSQL($item, $val).
354
1dd598221874 Simplify code by reusing functions from site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 307
diff changeset
320 " WHERE key=".$db->quote($item["key"]));
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
321 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
322 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
323
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
324
407
eaea1ae2bc3d Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 396
diff changeset
325 function stDisplayUpdated()
eaea1ae2bc3d Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 396
diff changeset
326 {
eaea1ae2bc3d Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 396
diff changeset
327 stSetDisplayVar("lastUpdate", time());
eaea1ae2bc3d Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 396
diff changeset
328 }
eaea1ae2bc3d Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 396
diff changeset
329
eaea1ae2bc3d Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 396
diff changeset
330
454
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
331 function stSetDisplayVarUpd($name, $value)
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
332 {
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
333 if (stGetDisplayVar($name) != $value)
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
334 {
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
335 stSetDisplayVar($name, $value);
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
336 stDisplayUpdated();
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
337 return TRUE;
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
338 }
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
339 else
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
340 return FALSE;
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
341 }
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
342
ea7fc4e9f602 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 447
diff changeset
343
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
344 function stGetDisplayVar($name)
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
345 {
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
346 global $displayVars;
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
347 if (isset($displayVars[$name]))
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
348 return $displayVars[$name];
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
349 else
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
350 die("No display var for '".$name."'.\n");
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
351 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
352
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
353
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
354 function stSetDisplayVar($name, $value)
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
355 {
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
356 global $displayVars, $displayVarsChanged;
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
357 if (isset($displayVars[$name]))
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
358 {
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
359 $displayVars[$name] = $value;
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
360 $displayVarsChanged[$name] = TRUE;
143
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
361 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
362 else
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
363 die("No display var for '".$name."'.\n");
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
364 }
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
365
20893a5442b7 Move some functions to site module, and use them.
Matti Hamalainen <ccr@tnsp.org>
parents: 139
diff changeset
366
806
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
367 //
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
368 // Like stExecSQL(), but throws error messages to "userspace".
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
369 //
484
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
370 function stExecSQLCond($sql, $msg = FALSE)
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
371 {
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
372 global $db;
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
373 if (($res = stDBExecSQL($db, $sql)) !== FALSE)
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
374 {
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
375 if ($msg !== FALSE)
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
376 stSetStatus(200, $msg);
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
377 return $res;
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
378 }
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
379 else
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
380 {
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
381 stSetStatus(902, "Error in SQL execution.");
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
382 return FALSE;
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
383 }
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
384 }
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
385
c8591a8fadbc Move stExecSQLCond() to site module.
Matti Hamalainen <ccr@tnsp.org>
parents: 459
diff changeset
386
205
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
387 function stPrintAttendee($item, $row, $tr, $full, $edit, $eclass = "")
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
388 {
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
389 $id = $item["id"];
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
390 $prefix = "at";
677
64d80a7f7e26 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 674
diff changeset
391
205
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
392 if ($tr)
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
393 {
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
394 echo
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
395 " <tr class=\"".($row % 2 == 1 ? "rodd" : "reven").$eclass.
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
396 "\" id=\"attendee".$id."\" ".($full ? "onClick=\"activateAttendee(".$id.")\"" : "").">";
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
397 }
677
64d80a7f7e26 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 674
diff changeset
398
71
d74fb8cf0062 Adjust attendee output again, we're separating vote keys from there once more. Durr.
Matti Hamalainen <ccr@tnsp.org>
parents: 70
diff changeset
399 echo
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
400 stGetTDFormTextInput($edit, 20, SQL_LEN_USERNAME, "name", $id, $prefix, $item["name"]).
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
401 stGetTDFormTextInput($edit, 20, SQL_LEN_GROUPS, "groups", $id, $prefix, $item["groups"]).
71
d74fb8cf0062 Adjust attendee output again, we're separating vote keys from there once more. Durr.
Matti Hamalainen <ccr@tnsp.org>
parents: 70
diff changeset
402 "<td class=\"regtime\">".date("d.m. H:i", $item["regtime"])."</td>".
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
403 stGetTDFormTextInput($edit, 30, SQL_LEN_ONELINER, "oneliner", $id, $prefix, $item["oneliner"], "autocomplete=\"off\"");
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
404
205
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
405 if ($full)
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
406 {
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
407 echo
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
408 stGetTDFormTextInput($edit, 15, SQL_LEN_EMAIL, "email", $id, $prefix, $item["email"], "autocomplete=\"off\"").
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
409 stGetTDFormTextInput($edit, 15, SQL_LEN_REGHOST, "reghost", $id, $prefix, $item["reghost"], "autocomplete=\"off\"");
205
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
410
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
411 if ($edit)
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
412 {
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
413 echo
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
414 "<td>".
680
c9b96a7b9dc4 Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 679
diff changeset
415 stGetFormButtonElement($prefix."upd".$id, "","", "Upd", "updateAttendee(".$id.")").
c9b96a7b9dc4 Add new helper function and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 679
diff changeset
416 stGetFormButtonElement($prefix."del".$id, "","", "Del", "deleteAttendee(".$id.")").
205
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
417 "</td>";
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
418 }
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
419 else
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
420 echo "<td></td>";
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
421 }
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
422
205
77d33161f8be More work on admin interface.
Matti Hamalainen <ccr@tnsp.org>
parents: 184
diff changeset
423 if ($tr)
674
3e37a29468bf Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 665
diff changeset
424 echo "</tr>\n";
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
425 }
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
426
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
427
222
b236b4d8d7a9 Remove useless code.
Matti Hamalainen <ccr@tnsp.org>
parents: 207
diff changeset
428 function stPrintNewsItem($item)
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
429 {
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
430 echo
592
642df17214f6 Improve news item DOM IDs.
Matti Hamalainen <ccr@tnsp.org>
parents: 585
diff changeset
431 "<div class=\"newsItem\" id=\"news".$item["id"]."\">\n".
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
432 " <h2>".chentities($item["title"])."</h2>\n".
592
642df17214f6 Improve news item DOM IDs.
Matti Hamalainen <ccr@tnsp.org>
parents: 585
diff changeset
433 " <div class=\"newsText\">".dhentities($item["text"])."</div>\n".
593
3cceb9f13762 And some more tweaking.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
434 " <div class=\"newsAuthor\"><span class=\"newsSig\">-- ".chentities($item["author"])."</span>".
3cceb9f13762 And some more tweaking.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
435 "<span class=\"newsDate\">".date("d M Y / H:i", $item["utime"])."</span></div>\n".
37
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
436 "</div>\n";
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
437 }
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
438
238c73840b61 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
439
806
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
440 function stGetTDFormTextInput($edit, $size, $len, $name, $id, $prefix, $value, $extra = "")
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
441 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
442 return
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
443 "<td class=\"".$name."\">".
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
444 ($edit ? stGetFormTextInput($size, $len, $name, $id, $prefix, $value, $extra) : chentities($value)).
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
445 "</td>";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
446 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
447
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
448
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
449 function stGetEditFormTextInput($mode, $title, $size, $len, $name, $id, $prefix, $value, $extra = "")
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
450 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
451 return
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
452 "<div class=\"editControl\"><span class=\"editControlTitle\">".chentities($title)."</span>".
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
453 ($mode ? stGetFormTextInput($size, $len, $name, $id, $prefix, $value, $extra) : chentities($value)).
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
454 "</div>";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
455 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
456
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
457
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
458 function stGetEditFormTextArea($mode, $title, $rows, $cols, $name, $id, $prefix, $value, $extra = "")
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
459 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
460 return
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
461 "<div class=\"editControl\"><span class=\"editControlTitle\">".chentities($title)."</span>".
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
462 stGetFormTextArea($rows, $cols, $name, $id, $prefix, $value, ($mode ? "" : " disabled=\"disabled\" ").$extra).
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
463 "</div>";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
464 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
465
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
466
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
467 function stConvSwitchMode(&$str, &$mode, $newMode)
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
468 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
469 if ($newMode != $mode)
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
470 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
471 if ($mode != "")
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
472 $str .= "\n</".$mode.">\n";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
473
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
474 $mode = $newMode;
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
475
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
476 if ($mode != "")
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
477 $str .= "<".$mode.">\n";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
478 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
479 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
480
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
481
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
482 function stConvertCommonDesc($desc, $chent)
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
483 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
484 $str = "";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
485 $mode = "";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
486
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
487 foreach (explode("\n", $desc) as $line)
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
488 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
489 if (preg_match("/^\s*\s*\*(.+)$/", $line, $m))
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
490 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
491 stConvSwitchMode($str, $mode, "ol");
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
492 $str .= "<li>".($chent ? chentities($m[1]) : $m[1])."</li>\n";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
493 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
494 else
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
495 if (preg_match("/^\s*-\s*(.+)$/", $line, $m))
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
496 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
497 stConvSwitchMode($str, $mode, "ul");
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
498 $str .= "<li>".($chent ? chentities($m[1]) : $m[1])."</li>\n";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
499 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
500 else
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
501 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
502 stConvSwitchMode($str, $mode, "p");
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
503 $str .= ($chent ? chentities($line) : $line);
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
504 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
505 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
506
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
507 stConvSwitchMode($str, $mode, "");
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
508
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
509 return $str;
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
510 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
511
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
512
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
513 function stGetNumberSuffix($val)
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
514 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
515 switch ($val)
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
516 {
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
517 case 1: return "st";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
518 case 2: return "nd";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
519 case 3: return "rd";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
520 case 4: case 5: case 6:
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
521 case 7: case 8: case 9: return "th";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
522 default: return "th";
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
523 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
524 }
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
525
59528ba5813a Move stuff around.
Matti Hamalainen <ccr@tnsp.org>
parents: 800
diff changeset
526
69
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
527 function stGenerateUserKey()
65
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
528 {
69
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
529 global $db;
1089
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
530
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
531 // Default keychars
99
2169c3177f47 Limit the vote key character space even more.
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
532 $keyChars = "abdefghjkmnpqrstwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789";
1089
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
533
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
534 if (($tmp = stGetSetting("userKeyChars", NULL)) !== NULL)
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
535 $keyChars = $tmp;
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
536
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
537 if (($tmp = stGetSetting("userKeyCase", NULL)) !== NULL)
00632d30bafe Implement new settings for making user/votekeys case-insensitive and
Matti Hamalainen <ccr@tnsp.org>
parents: 1072
diff changeset
538 $keyChars = strtoupper($keyChars);
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
539
65
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
540 while (TRUE)
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
541 {
69
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
542 // Generate one randomized keycode
65
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
543 $key = "";
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
544 for ($n = 0; $n < stGetSetting("userKeyLength"); $n++)
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
545 $key .= $keyChars[rand() % strlen($keyChars)];
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
546
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
547 // Check if it already exists, to avoid duplicates
69
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
548 // We need custom query code here, because stFetchSQLColumn()
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
549 // won't work due to it returning FALSE in error cases.
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
550 $sql = stPrepareSQL("SELECT * FROM userkeys WHERE key=%s", $key);
65
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
551 if (($res = @$db->query($sql)) !== FALSE)
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
552 {
69
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
553 // Did we get results?
65
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
554 if ($res->fetchColumn() === FALSE)
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
555 {
69
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
556 // Nope, return key
30a4420e85ab stGenerateUserKey() simply returns a generated key now (string) or FALSE if
Matti Hamalainen <ccr@tnsp.org>
parents: 66
diff changeset
557 return $key;
65
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
558 }
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
559 }
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
560 else
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
561 {
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
562 stLogSQLError($sql);
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
563 return FALSE;
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
564 }
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
565 }
72b22729ae7e Add function for generating vote keys into site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
566 }
66
230aacc22cb4 Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 65
diff changeset
567
230aacc22cb4 Move some functions to site lib.
Matti Hamalainen <ccr@tnsp.org>
parents: 65
diff changeset
568
103
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
569 function stCheckRegistrationAvailable()
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
570 {
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
571 global $maxAttendeesHard, $maxAttendeesSoft, $numAttendees;
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
572
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
573 $maxAttendeesHard = stGetSetting("maxAttendeesHard");
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
574 $maxAttendeesSoft = stGetSetting("maxAttendeesSoft");
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
575 if (($numAttendees = stFetchSQLColumn("SELECT COUNT(*) FROM attendees")) === FALSE)
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
576 $numAttendees = 0;
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
577
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
578 return stChkSetting("allowRegister") && ($maxAttendeesHard <= 0 || $numAttendees < $maxAttendeesHard);
c6b9041078ec Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents: 99
diff changeset
579 }
135
eecac02579c4 Move stChop() to site module and rename it to stStrChop().
Matti Hamalainen <ccr@tnsp.org>
parents: 121
diff changeset
580
eecac02579c4 Move stChop() to site module and rename it to stStrChop().
Matti Hamalainen <ccr@tnsp.org>
parents: 121
diff changeset
581
1014
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
582 function stCheckRequireEmail()
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
583 {
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
584 return stGetSetting("requireEMail");
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
585 }
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
586
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
587
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
588 function stValidateRequestUserData($admin, $id = FALSE)
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
589 {
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
590 $res = TRUE;
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
591 $chk = 0;
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
592
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
593 if (stChkRequestItem("name", $name,
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
594 array(CHK_ISGT, VT_STR, 0, "Handle / name not given."),
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
595 array(CHK_LTEQ, VT_STR, SQL_LEN_USERNAME, "Handle / name is too long, should be less than ".SQL_LEN_USERNAME." characters.")))
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
596 $chk++;
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
597 else
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
598 $res = FALSE;
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
599
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
600 if (stChkRequestItem("groups", $groups,
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
601 array(CHK_LTEQ, VT_STR, SQL_LEN_GROUPS, "Groups are too long, should be less than ".SQL_LEN_GROUPS." characters.")))
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
602 $chk++;
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
603 else
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
604 $res = FALSE;
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
605
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
606 if (!stChkRequestItem("oneliner", $oneliner,
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
607 array(CHK_LTEQ, VT_STR, SQL_LEN_ONELINER, "Oneliner is too long, should be less than ".SQL_LEN_ONELINER." characters.")))
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
608 $res = FALSE;
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
609
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
610 $email = stGetRequestItem("email");
1014
87eda2e9023f Back out the stValidateRequestUserData() parameter change, use separate
Matti Hamalainen <ccr@tnsp.org>
parents: 1012
diff changeset
611 if (!$admin && stCheckRequireEmail() && strlen($email) < 4)
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
612 {
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
613 stError("E-mail address not given, or it is too short.");
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
614 $res = FALSE;
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
615 }
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
616
605
f928b0a6e1af Better validation for e-mail addresses.
Matti Hamalainen <ccr@tnsp.org>
parents: 598
diff changeset
617 if (strlen($email) > 0 && preg_match("/^[a-z0-9][a-z0-9\+\-\.\%_]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", $email) != 1)
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
618 {
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
619 stError("E-mail address not in proper format.");
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
620 $res = FALSE;
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
621 }
1015
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
622 else
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
623 if (strlen($email) > SQL_LEN_EMAIL)
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
624 {
1114
51f24cb35fc8 s/SET_LEN_/SQL_LEN_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1104
diff changeset
625 stError("E-mail address too long, max ".SQL_LEN_EMAIL." characters.");
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
626 $res = FALSE;
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
627 }
1015
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
628 else
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
629 if (strlen($email) > 0)
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
630 {
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
631 if ($id !== FALSE)
1015
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
632 // By another ID, if we are updating an entry
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
633 $sql = stPrepareSQL("SELECT * FROM attendees WHERE id<>%d AND email=%s", $id, $email);
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
634 else
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
635 // Or just exists, if adding
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
636 $sql = stPrepareSQL("SELECT * FROM attendees WHERE email=%s", $email);
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
637
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
638 if (($data = stFetchSQL($sql)) !== FALSE)
1015
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
639 {
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
640 stError("Someone with the same e-mail address is already registered.");
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
641 $res = FALSE;
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
642 }
6e8ae77e1a25 Add better checks for e-mails.
Matti Hamalainen <ccr@tnsp.org>
parents: 1014
diff changeset
643 }
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
644
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
645 // Check if another user already exists
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
646 if ($chk >= 2)
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
647 {
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
648 if ($id !== FALSE)
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
649 // By another ID, if we are updating an entry
647
60b51ab059da Oops, forgot an AND from one SQL clause.
Matti Hamalainen <ccr@tnsp.org>
parents: 646
diff changeset
650 $sql = stPrepareSQL("SELECT * FROM attendees WHERE id<>%d AND name=%s AND groups=%s", $id, $name, $groups);
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
651 else
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
652 // Or just exists, if adding
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
653 $sql = stPrepareSQL("SELECT * FROM attendees WHERE name=%s AND groups=%s", $name, $groups);
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
654
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
655 if (($data = stFetchSQL($sql)) !== FALSE)
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
656 {
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
657 stError("Someone with the same name and groups is already registered.");
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
658 $res = FALSE;
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
659 }
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
660 }
646
2eeca16e9c96 Improve attendee adding/updating data validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 641
diff changeset
661 return $res;
648
9e4b8df65879 Oops, fix a 10L.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
662
207
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
663 }
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
664
e31c42a9b574 Slowly work on input validation.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
665
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
666 function stGetCompoResultsSQL($mode, $compo, $flags)
531
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
667 {
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
668 //
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
669 // Act based on competition type
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
670 //
640
c78e11aa3162 Rename a database field, so that it does not conflict with AJAX request item
Matti Hamalainen <ccr@tnsp.org>
parents: 637
diff changeset
671 switch ($compo["ctype"])
531
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
672 {
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
673 case COMPO_NORMAL:
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
674 //
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
675 // "Normal" competition, where results are somehow
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
676 // based on points / voting.
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
677 //
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
678 switch ($mode)
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
679 {
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
680 case VOTE_FREELY:
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
681 $sql =
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
682 "SELECT entries.*,SUM(votes.value) AS votesum ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
683 "FROM entries ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
684 "LEFT JOIN votes ON votes.entry_id=entries.id";
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
685 break;
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
686
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
687 case VOTE_ACTIVATE:
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
688 $sql =
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
689 "SELECT entries.*, ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
690 "(SELECT SUM(votes.value) FROM votes ".
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
691 "LEFT JOIN userkeys ON votes.key_id=userkeys.id ".
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
692 "WHERE votes.entry_id=entries.id AND userkeys.active<>0) ".
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
693 "AS votesum ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
694 "FROM entries";
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
695 break;
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
696
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
697 case VOTE_ASSIGN:
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
698 $sql =
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
699 "SELECT entries.*, ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
700 "(SELECT SUM(votes.value) FROM votes ".
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
701 "LEFT JOIN userkeys ON votes.key_id=userkeys.id ".
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
702 "LEFT JOIN attendees ON userkeys.id=attendees.key_id ".
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
703 "WHERE votes.entry_id=entries.id AND attendees.key_id<>0) ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
704 "AS votesum ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
705 "FROM entries";
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
706 break;
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
707 }
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
708
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
709 $extra =
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
710 "GROUP BY entries.id ".
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
711 "ORDER BY votesum DESC";
531
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
712 break;
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
713
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
714 case COMPO_POINTS:
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
715 //
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
716 // Points ..
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
717 //
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
718 $sql = "SELECT entries.*,entries.evalue AS votesum FROM entries";
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
719 $extra = "ORDER BY entries.evalue DESC";
531
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
720 break;
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
721
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
722 case COMPO_ASSIGN:
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
723 //
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
724 // Ascending
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
725 //
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
726 $sql = "SELECT entries.*,entries.evalue AS votesum FROM entries";
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
727 $extra = "ORDER BY entries.evalue ASC";
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
728 break;
531
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
729 }
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
730
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
731 return $sql." ".
606
3d2b70fbeb78 Slight cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 605
diff changeset
732 "WHERE entries.compo_id=".$compo["id"]." ".
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
733 (($flags & RFLAG_DISQUALIFIED) ? "" : "AND (entries.flags & ".EFLAG_DISQUALIFIED.")=0 ").
623
8e6331d7870d Some work on compo type handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 606
diff changeset
734 $extra;
531
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
735 }
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
736
ec30ad303bd1 Modularize.
Matti Hamalainen <ccr@tnsp.org>
parents: 528
diff changeset
737
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
738 function stGetCompoResults($flags)
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
739 {
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
740 $userKeyMode = stGetSetting("userKeyMode");
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
741 $out = array();
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
742 $sql = "SELECT * FROM compos ".(($flags & RFLAG_HIDDEN_COMPOS) ? "" : "WHERE visible<>0 ")."ORDER BY name DESC";
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
743 if (($res = stExecSQL($sql)) === FALSE)
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
744 return $out;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
745
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
746 // For each compo that has been set visible
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
747 foreach ($res as $compo)
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
748 {
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
749 // Check if there are any entries for it
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
750 $sql =
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
751 "SELECT COUNT(*) FROM entries ".
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
752 "WHERE compo_id=".$compo["id"].
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
753 (($flags & RFLAG_DISQUALIFIED) ? "" : " AND (entries.flags & ".EFLAG_DISQUALIFIED.")=0");
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
754
798
b97d4b754bc0 Show also empty compos with RFLAG_HIDDEN_COMPOS.
Matti Hamalainen <ccr@tnsp.org>
parents: 797
diff changeset
755 if (($nentries = stFetchSQLColumn($sql)) !== FALSE &&
b97d4b754bc0 Show also empty compos with RFLAG_HIDDEN_COMPOS.
Matti Hamalainen <ccr@tnsp.org>
parents: 797
diff changeset
756 ($nentries > 0 || ($flags & RFLAG_HIDDEN_COMPOS)))
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
757 {
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
758 // Get voting results by mode
1092
95b74632cfe2 Rename votekeys table to userkeys, and all related variables and settings.
Matti Hamalainen <ccr@tnsp.org>
parents: 1089
diff changeset
759 $sql = stGetCompoResultsSQL($userKeyMode, $compo, $flags);
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
760
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
761 $out[$compo["id"]] = $compo;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
762 $out[$compo["id"]]["results"] = array();
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
763 $prev = FALSE;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
764 $index = 0;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
765
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
766 foreach (stExecSQL($sql) as $entry)
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
767 {
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
768 if ($entry["votesum"] !== $prev)
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
769 $index++;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
770
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
771 $entry["position"] = $index;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
772 $out[$compo["id"]]["results"][] = $entry;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
773
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
774 $prev = $entry["votesum"];
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
775 }
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
776 }
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
777 }
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
778
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
779 return $out;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
780 }
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
781
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
782
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
783 function stGetCompoResultLine($html, $entry, $points, $showAuthor)
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
784 {
965
d5f3a505c73c Make results a bit wider.
Matti Hamalainen <ccr@tnsp.org>
parents: 962
diff changeset
785 $name = stStrChopPad($entry["name"], 40);
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
786 $author = stStrChopPad($entry["author"], 30);
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
787
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
788 $out = sprintf(" %s", $html ? chentities($name) : $name);
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
789
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
790 // Author?
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
791 if ($showAuthor)
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
792 $out .= sprintf(" by %s", $html ? chentities($author) : $author);
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
793
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
794 // Points?
698
3f322be347d6 Fix the results display.
Matti Hamalainen <ccr@tnsp.org>
parents: 697
diff changeset
795 if ($points !== FALSE)
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
796 $out .= sprintf(" (%d pts)", $points);
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
797
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
798 // Add disqualified flag etc.
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
799 if ($entry["flags"] & EFLAG_DISQUALIFIED)
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
800 $out .= " [DISQ]";
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
801
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
802 return $out."\n";
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
803 }
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
804
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
805
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
806 function stGetCompoResultsASCIIStr($html, $flags)
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
807 {
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
808 $out = "";
792
b42b23073209 Improve printing of results with more options (in the admin interface).
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
809 foreach (stGetCompoResults($flags) as $compo)
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
810 {
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
811 // Output compo title / header
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
812 if ($html)
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
813 {
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
814 $out .=
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
815 "<pre>\n".
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
816 "<b> ".chentities($compo["name"])." </b>\n".
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
817 str_repeat("=", strlen($compo["name"]) + 2)."-- - .\n\n";
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
818 }
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
819 else
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
820 {
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
821 $out .=
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
822 " ".$compo["name"]."\n".
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
823 str_repeat("=", strlen($compo["name"]) + 2)."-- - .\n\n";
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
824 }
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
825
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
826 // List results for this compo
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
827 $prev = FALSE;
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
828 foreach ($compo["results"] as $entry)
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
829 {
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
830 if ($entry["position"] !== $prev)
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
831 $out .= sprintf("%3d%s.", $entry["position"], stGetNumberSuffix($entry["position"]));
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
832 else
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
833 $out .= " -''-";
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
834
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
835 $out .= stGetCompoResultLine($html, $entry,
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
836 ($compo["ctype"] != COMPO_ASSIGN) ? $entry["votesum"] : FALSE,
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
837 ($compo["ctype"] != COMPO_NORMAL) ? $compo["show_authors"] : TRUE);
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
838
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
839 $prev = $entry["position"];
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
840 }
979
678b44a20e1a Implement rest of notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 977
diff changeset
841 $out .=
678b44a20e1a Implement rest of notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 977
diff changeset
842 "\n".($compo["notes"] != "" ? "NOTES: ".chentities($compo["notes"])."\n" : "").
678b44a20e1a Implement rest of notes.
Matti Hamalainen <ccr@tnsp.org>
parents: 977
diff changeset
843 "\n".($html ? "</pre>\n" : "");
724
fd84eb4d8b74 Refactor compo results code for modularity.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
844 }
695
dff9b125f774 Work on results printing and remove "show authors" option as it is rather
Matti Hamalainen <ccr@tnsp.org>
parents: 690
diff changeset
845
511
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
846 return $out;
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
847 }
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
848
6fe66ea0e954 Move most of the results code to site module, remove the support for HTML
Matti Hamalainen <ccr@tnsp.org>
parents: 508
diff changeset
849
716
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
850 function stGetAttendeeRegistrationSQL()
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
851 {
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
852 return stPrepareSQL(
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
853 "INSERT INTO attendees (regtime,name,groups,oneliner,email,reghost) VALUES (%d,%S,%S,%S,%S,%s)",
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
854 time(), "name", "groups", "oneliner", "email", $_SERVER["REMOTE_ADDR"]);
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
855 }
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
856
e7fbcf4190e6 Add registration host.
Matti Hamalainen <ccr@tnsp.org>
parents: 703
diff changeset
857
819
a431fc8a2b9a Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 818
diff changeset
858 //
886
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
859 // Filter a path or filename component string
819
a431fc8a2b9a Comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 818
diff changeset
860 //
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
861 function stFilterPathComponent($str)
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
862 {
918
2e106ba14190 More adjustments.
Matti Hamalainen <ccr@tnsp.org>
parents: 915
diff changeset
863 $tmp = str_replace(array(" / ", "/", "\$", ), array(" of ", " of ", "S", ), $str);
915
a6b4b7401508 Improve path component filtering.
Matti Hamalainen <ccr@tnsp.org>
parents: 914
diff changeset
864 return preg_replace("/[^a-zA-Z0-9\(\)\,\._-]/", "_", $tmp);
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
865 }
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
866
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
867
886
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
868 //
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
869 // Replace or add filename extension
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
870 //
885
2ca7f609e480 Allow fext to be FALSE stReplaceFileExt().
Matti Hamalainen <ccr@tnsp.org>
parents: 880
diff changeset
871 function stReplaceFileExt($filename, $fext = FALSE)
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
872 {
885
2ca7f609e480 Allow fext to be FALSE stReplaceFileExt().
Matti Hamalainen <ccr@tnsp.org>
parents: 880
diff changeset
873 if ($fext === FALSE)
2ca7f609e480 Allow fext to be FALSE stReplaceFileExt().
Matti Hamalainen <ccr@tnsp.org>
parents: 880
diff changeset
874 return $filename;
2ca7f609e480 Allow fext to be FALSE stReplaceFileExt().
Matti Hamalainen <ccr@tnsp.org>
parents: 880
diff changeset
875
961
d0c49745f27f Possible fix for certain things!
Matti Hamalainen <ccr@tnsp.org>
parents: 960
diff changeset
876 $dpos = strrpos($filename, "/");
d0c49745f27f Possible fix for certain things!
Matti Hamalainen <ccr@tnsp.org>
parents: 960
diff changeset
877 if (($spos = strrpos($filename, ".")) !== FALSE &&
962
b61c0e7eb52e Bugfix.
Matti Hamalainen <ccr@tnsp.org>
parents: 961
diff changeset
878 ($dpos === FALSE || $dpos < $spos))
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
879 return substr($filename, 0, $spos).$fext;
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
880 else
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
881 return $filename.$fext;
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
882 }
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
883
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
884
886
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
885 //
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
886 // Create a path, or URL from specified components
354183f9c6e9 Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 885
diff changeset
887 //
880
6db8ef2bb1b5 Changed stMakePath() API.
Matti Hamalainen <ccr@tnsp.org>
parents: 874
diff changeset
888 function stMakePath($isURL, $hasFilename, $components)
721
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
889 {
780
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
890 $res = array();
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
891
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
892 // If this is URL, the first component is passed as is
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
893 if ($isURL)
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
894 {
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
895 $res[] = array_shift($components);
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
896 $first = FALSE;
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
897 }
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
898 else
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
899 $first = TRUE;
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
900
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
901 // Handle each path component
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
902 if (count($components) > 0)
780
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
903 {
880
6db8ef2bb1b5 Changed stMakePath() API.
Matti Hamalainen <ccr@tnsp.org>
parents: 874
diff changeset
904 for ($i = 0; $i < count($components); $i++)
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
905 foreach (explode("/", $components[$i]) as $item)
780
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
906 {
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
907 if ($item == "..")
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
908 array_pop($res);
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
909 else
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
910 if ($item != "." && ($item != "" || $first))
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
911 $res[] = stFilterPathComponent($item);
780
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
912 $first = FALSE;
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
913 }
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
914 }
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
915
f8d09e0de027 Properly implement stMakePath() replacing the stub function.
Matti Hamalainen <ccr@tnsp.org>
parents: 774
diff changeset
916 return implode("/", $res);
721
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
917 }
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
918
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
919
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
920 function stGetEntryPreviewFile($entry, $compo, $previewPath, $previewURL, $type, $addPath)
721
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
921 {
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
922 global $fileTypeData;
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
923 if (!isset($fileTypeData[$type]))
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
924 die("Invalid file type: ".$type);
721
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
925
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
926 $fileBase = sprintf("%03d.%s", $entry["id"], $fileTypeData[$type]["fext"]);
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
927 $fileName = stMakePath(FALSE, TRUE, array($previewPath, $compo["cpath"], $addPath, $fileBase));
721
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
928
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
929 return array(
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
930 "type" => $type,
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
931 "mime" => $fileTypeData[$type]["mime"],
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
932 "file" => $fileName,
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
933 "exists" => @file_exists($fileName),
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
934 "mtime" => @filemtime($fileName),
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
935 "url" => stMakePath(TRUE, TRUE, array($previewURL, $compo["cpath"], $addPath, $fileBase)),
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
936 );
721
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
937 }
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
938
69a829f687a9 Preliminary work for entry previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 716
diff changeset
939
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
940 function stGetPreviewFileData($compo, $entry, &$pdata)
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
941 {
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
942 global $fileTypeData;
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
943
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
944 if ($compo === FALSE || $entry === FALSE)
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
945 return FALSE;
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
946
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
947 $previewPath = stGetSetting("previewPath");
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
948 $previewURL = stGetSetting("previewURL");
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
949 $pdata = array(
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
950 "type" => $compo["preview_type"],
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
951 "valid" => TRUE,
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
952 "exists" => 0,
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
953 "files" => array(),
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
954 );
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
955
897
d8fa2aecadcc Optimize slightly.
Matti Hamalainen <ccr@tnsp.org>
parents: 896
diff changeset
956 if ($entry["preview_id"] != 0 &&
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
957 ($efile = stFetchSQL("SELECT * FROM files WHERE deleted=0 AND id=".$entry["preview_id"])) !== FALSE)
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
958 {
897
d8fa2aecadcc Optimize slightly.
Matti Hamalainen <ccr@tnsp.org>
parents: 896
diff changeset
959 $pdata["file"] = $efile;
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
960 if (isset($fileTypeData[$efile["filetype"]]["type"]))
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
961 $pdata["type"] = $fileTypeData[$efile["filetype"]]["type"];
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
962 }
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
963 else
969
26ae3f21a3bb Moar work on previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 965
diff changeset
964 if ($entry["file_id"] == 0)
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
965 $pdata["valid"] = $efile = FALSE;
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
966
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
967 switch ($pdata["type"])
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
968 {
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
969 case EFILE_IMAGE:
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
970 $pdata["files"]["image"] = stGetEntryPreviewFile(
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
971 $entry, $compo, $previewPath, $previewURL,
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
972 stGetSetting("previewImageType"), "");
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
973
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
974 $pdata["files"]["thumb"] = stGetEntryPreviewFile(
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
975 $entry, $compo, $previewPath, $previewURL,
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
976 stGetSetting("previewThumbType"),
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
977 stGetSetting("thumbnailSubDir"));
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
978 break;
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
979
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
980 case EFILE_AUDIO:
895
878e3bd6f385 Moar fixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 894
diff changeset
981 foreach (stGetSetting("sampleTypes") as $type => $fdata)
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
982 {
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
983 $pdata["files"][$type] = stGetEntryPreviewFile(
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
984 $entry, $compo, $previewPath, $previewURL,
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
985 $type, "");
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
986 }
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
987 break;
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
988
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
989 default:
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
990 return FALSE;
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
991 }
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
992
969
26ae3f21a3bb Moar work on previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 965
diff changeset
993 foreach ($pdata["files"] as $pkey => $pfile)
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
994 {
969
26ae3f21a3bb Moar work on previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 965
diff changeset
995 if ($pfile["exists"])
26ae3f21a3bb Moar work on previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 965
diff changeset
996 $pdata["exists"]++;
894
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
997
969
26ae3f21a3bb Moar work on previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 965
diff changeset
998 if (!$pfile["exists"])//
26ae3f21a3bb Moar work on previews.
Matti Hamalainen <ccr@tnsp.org>
parents: 965
diff changeset
999 $pdata["valid"] = FALSE;
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1000 }
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1001
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1002 return TRUE;
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1003 }
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1004
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1005
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1006 function stPrintPreviewElements($compo, $entry)
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1007 {
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1008 if (!stGetPreviewFileData($compo, $entry, $pdata))
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1009 return FALSE;
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1010
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1011 switch ($pdata["type"])
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
1012 {
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
1013 case EFILE_IMAGE:
911
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1014 if ($pdata["exists"] >= 2)
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1015 {
911
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1016 if ($pdata["valid"])
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1017 {
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1018 echo
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1019 "<a href=\"".ihentities($pdata["files"]["image"]["url"]).
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1020 "\" onClick=\"return jsShowPreviewImage('".ihentities($pdata["files"]["image"]["url"])."');\">".
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1021 "<img class=\"imagePreview\" src=\"".ihentities($pdata["files"]["thumb"]["url"]).
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1022 "\" alt=\"Preview\" /></a>";
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1023 }
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1024 else
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1025 {
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1026 echo
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1027 "<img class=\"imagePreview\" src=\"".stGetSetting("previewNoImage")."\" alt=\"Preview\" />";
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1028 }
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1029 }
894
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
1030 else
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
1031 {
911
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1032 echo "<div class=\"noPreview\">No preview</div>";
894
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
1033 }
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1034 break;
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1035
896
52737f6192bb More work on preview handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 895
diff changeset
1036 case EFILE_AUDIO:
932
0c1ab858a3c5 Adjust preview file validity logic.
Matti Hamalainen <ccr@tnsp.org>
parents: 924
diff changeset
1037 if ($pdata["valid"])
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1038 {
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
1039 echo "<audio controls preload=\"none\" class=\"audioPreview\">";
891
86ebd378af95 Modularize again.
Matti Hamalainen <ccr@tnsp.org>
parents: 890
diff changeset
1040 foreach ($pdata["files"] as $pkey => $pfile)
889
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
1041 {
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
1042 echo "<source src=\"".ihentities($pfile["url"])."\" type=\"".$pfile["mime"]."\">";
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
1043 }
0fbf63bbb8f4 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 888
diff changeset
1044 echo "</audio>";
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1045 }
894
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
1046 else
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
1047 {
911
f007b3081872 Adjust preview showing.
Matti Hamalainen <ccr@tnsp.org>
parents: 910
diff changeset
1048 echo "<div class=\"noPreview\">No preview</div>";
894
a8fe46a555be Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 892
diff changeset
1049 }
774
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1050 break;
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1051 }
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1052 }
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1053
d6668b73bb01 Modularize preview HTML stuff into a function stPrintPreviewElements().
Matti Hamalainen <ccr@tnsp.org>
parents: 752
diff changeset
1054
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1055 //
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1056 // Probe file type information
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1057 //
952
ef0d8615ec06 Add silent option to stProbeFileInfo()
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
1058 function stProbeFileInfo($filename, $silent = FALSE)
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1059 {
840
3b9ccc10c9a0 Few 10L's
Matti Hamalainen <ccr@tnsp.org>
parents: 839
diff changeset
1060 global $fileTypeData;
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1061
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1062 // Get file magic info
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1063 if (($finfo = finfo_open()) === FALSE)
818
5f20e5f1d589 Log errors.
Matti Hamalainen <ccr@tnsp.org>
parents: 817
diff changeset
1064 {
874
ffb5643eff4f Rename functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 872
diff changeset
1065 stLogError("Internal error. Failed to initialize finfo().");
818
5f20e5f1d589 Log errors.
Matti Hamalainen <ccr@tnsp.org>
parents: 817
diff changeset
1066 return stError("Internal error, failed to probe file.");
824
6f52c19b00f4 Fix some 10L's.
Matti Hamalainen <ccr@tnsp.org>
parents: 823
diff changeset
1067 }
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1068
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1069 $sdata = @finfo_file($finfo, $filename, FILEINFO_NONE);
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1070 $smime = @finfo_file($finfo, $filename, FILEINFO_MIME_TYPE);
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1071 finfo_close($finfo);
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1072
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1073 // Did we get anything?
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1074 if ($sdata === FALSE || $smime === FALSE)
818
5f20e5f1d589 Log errors.
Matti Hamalainen <ccr@tnsp.org>
parents: 817
diff changeset
1075 {
874
ffb5643eff4f Rename functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 872
diff changeset
1076 stLogError("Failed to probe file '".$filename."'.");
952
ef0d8615ec06 Add silent option to stProbeFileInfo()
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
1077 return stError("Failed to probe file.");
818
5f20e5f1d589 Log errors.
Matti Hamalainen <ccr@tnsp.org>
parents: 817
diff changeset
1078 }
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1079
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1080 // Match through our supported types ..
840
3b9ccc10c9a0 Few 10L's
Matti Hamalainen <ccr@tnsp.org>
parents: 839
diff changeset
1081 foreach ($fileTypeData as $fid => $fdata)
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1082 {
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1083 $fdata["id"] = $fid;
914
d42c398d8896 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 913
diff changeset
1084 if (isset($fdata["test"]) && preg_match("/".$fdata["test"]."/", $sdata))
d42c398d8896 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 913
diff changeset
1085 return $fdata;
924
22ca7b1aaff4 Fix fileinfo probing.
Matti Hamalainen <ccr@tnsp.org>
parents: 918
diff changeset
1086 }
22ca7b1aaff4 Fix fileinfo probing.
Matti Hamalainen <ccr@tnsp.org>
parents: 918
diff changeset
1087
22ca7b1aaff4 Fix fileinfo probing.
Matti Hamalainen <ccr@tnsp.org>
parents: 918
diff changeset
1088 // Fall back to mime types
22ca7b1aaff4 Fix fileinfo probing.
Matti Hamalainen <ccr@tnsp.org>
parents: 918
diff changeset
1089 foreach ($fileTypeData as $fid => $fdata)
22ca7b1aaff4 Fix fileinfo probing.
Matti Hamalainen <ccr@tnsp.org>
parents: 918
diff changeset
1090 {
957
Matti Hamalainen <ccr@tnsp.org>
parents: 952
diff changeset
1091 $fdata["id"] = $fid;
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1092 if ($fdata["mime"] == $smime)
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1093 return $fdata;
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1094 }
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1095
952
ef0d8615ec06 Add silent option to stProbeFileInfo()
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
1096 if ($silent)
ef0d8615ec06 Add silent option to stProbeFileInfo()
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
1097 return FALSE;
ef0d8615ec06 Add silent option to stProbeFileInfo()
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
1098
914
d42c398d8896 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 913
diff changeset
1099 stLogError("File '".$filename."' (".$smime.") did not match any defined file types [".$sdata."].");
d42c398d8896 Moar work.
Matti Hamalainen <ccr@tnsp.org>
parents: 913
diff changeset
1100 return stError("No matching defined file type found for '".$smime."'.");
816
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1101 }
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1102
95c3e0a1058e Add new helper function stProbeFileInfo().
Matti Hamalainen <ccr@tnsp.org>
parents: 815
diff changeset
1103
869
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1104 //
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1105 // File table entry adding
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1106 //
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1107 function stAddFileEntry($entry, $type, $origName, $fileSize, $fileExt, $fileType, $uploaderID)
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1108 {
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1109 $field = (($type == "preview") ? "preview" : "file")."_id";
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1110
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1111 // Create new file entry
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1112 $sql = stPrepareSQL(
872
5e9958f78b16 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 871
diff changeset
1113 "INSERT INTO files (origname,filetype,filesize,entry_id,uploader_id,uploadtype,utime) ".
892
c036db2c64a7 Add missing SQL insert parameter. 10L.
Matti Hamalainen <ccr@tnsp.org>
parents: 891
diff changeset
1114 "VALUES (%s,%s,%d,%d,%d,%s,%d)",
872
5e9958f78b16 More work.
Matti Hamalainen <ccr@tnsp.org>
parents: 871
diff changeset
1115 $origName, $fileType, $fileSize, $entry["id"], $uploaderID, $type, time());
869
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1116
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1117 if (($fileID = stExecSQLInsert($sql)) === FALSE)
869
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1118 return stFileError($uploaderID,
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1119 "Failed to add new ".$type." file for entry #".$entry["id"]." '".$origName."'.",
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1120 "Internal error. Failed to add new file.");
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1121
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1122 // Compute storage filename
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1123 $fileName = sprintf("%03d-%s--%s%s_(%d).%s",
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1124 $entry["id"],
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1125 stFilterPathComponent($entry["author"]),
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1126 stFilterPathComponent($entry["name"]),
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1127 ($type == "preview" ? "_preview" : ""),
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1128 $fileID,
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1129 $fileExt);
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1130
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1131 // Update entry with generated filename
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1132 $sql = stPrepareSQL("UPDATE files SET filename=%s WHERE id=%d", $fileName, $fileID);
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1133 if (stExecSQL($sql) === FALSE)
869
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1134 return stFileError($uploaderID,
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1135 "Failed to update newly created files entry #".$fileID." with generated filename '".$fileName."'!",
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1136 "Internal error. Failed to add new file.");
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1137
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1138 // Update entry's reference
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1139 $sql = stPrepareSQL("UPDATE entries SET ".$field."=%d WHERE id=%d", $fileID, $entry["id"]);
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1140 if (stExecSQL($sql) === FALSE)
869
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1141 return stFileError($uploaderID,
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1142 "Failed to update entry #".$entry["id"]." ".$type." ID!",
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1143 "Internal error. Failed to add new file.");
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1144
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1145 // Return file entry
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1146 if (($res = stFetchSQL("SELECT * FROM files WHERE id=".$fileID)) === FALSE)
869
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1147 return stFileError($uploaderID,
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1148 "Failed to fetch newly generated files entry #".$fileID,
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1149 "Internal error. Failed to add new file.");
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1150
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1151 return $res;
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1152 }
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1153
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1154
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1155 //
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1156 // File upload handling
2447673c5d04 Back to the original plan.
Matti Hamalainen <ccr@tnsp.org>
parents: 866
diff changeset
1157 //
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1158 function stHandleGenericFileUpload($userID)
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1159 {
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1160 global $errorSet;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1161
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1162 // Check basics
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1163 if (!stChkRequestItem("type", $uploadType,
824
6f52c19b00f4 Fix some 10L's.
Matti Hamalainen <ccr@tnsp.org>
parents: 823
diff changeset
1164 array(CHK_TYPE, VT_STR, "Invalid upload type."),
910
8abd4a908098 Add type into message.
Matti Hamalainen <ccr@tnsp.org>
parents: 907
diff changeset
1165 array(CHK_ARRAY_VAL, array("entry", "preview"), "Invalid upload type class '%1'."))
824
6f52c19b00f4 Fix some 10L's.
Matti Hamalainen <ccr@tnsp.org>
parents: 823
diff changeset
1166 ||
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1167 !stChkRequestItem("entry_id", $entryID,
824
6f52c19b00f4 Fix some 10L's.
Matti Hamalainen <ccr@tnsp.org>
parents: 823
diff changeset
1168 array(CHK_TYPE, VT_INT, "Invalid entry ID.")))
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1169 return FALSE;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1170
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1171 // Check entry existence
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1172 if (($entry = stFetchSQL("SELECT * FROM entries WHERE id=".$entryID)) === FALSE)
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1173 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1174 "Entry ID #".$entryID." does not exist in the entries table?",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1175 "Entry does not exist??");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1176
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1177 if (($compo = stFetchSQL("SELECT * FROM compos WHERE id=".$entry["compo_id"])) === FALSE)
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1178 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1179 "Compo ID #".$entry["compo_id"]." in entry ID #".$entryID." does not exist!",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1180 "Compo does not exist??");
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1181
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1182 // Check target path existence / writability
880
6db8ef2bb1b5 Changed stMakePath() API.
Matti Hamalainen <ccr@tnsp.org>
parents: 874
diff changeset
1183 $dstPath = stMakePath(FALSE, FALSE, array(stGetSetting("entryPath"), $compo["cpath"]));
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1184 if (!file_exists($dstPath))
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1185 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1186 "Path '".$dstPath."' for compo ID #".$entry["compo_id"]." does not exist.",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1187 "The directory for entry's compo does not exist!");
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
1188
866
db9810510670 s/fileperm(/fileperms(/ :S
Matti Hamalainen <ccr@tnsp.org>
parents: 864
diff changeset
1189 $dstPerms = fileperms($dstPath);
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1190 if (($dstPerms & 0x4000) === 0)
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1191 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1192 "Path for entry's compo '".$dstPath."' is not a directory.",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1193 "Path for entry's compo is not a directory?");
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
1194
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1195 $needPerms = 0x0100 | 0x0080 | 0x0040;
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1196 if (($dstPerms & $needPerms) !== $needPerms)
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1197 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1198 "Path for entry's compo '".$dstPath."' does not have sufficient permissions.",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1199 "Path for entry's compo has no sufficient permissions.");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1200
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1201 // Check permissions for non-admins
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1202 if ($userID != 0)
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1203 {
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1204 // Check if the user even exists, just in case
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1205 if (($user = stFetchSQL("SELECT * FROM attendees WHERE id=".$userID)) === FALSE)
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1206 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1207 "User ID #".$userID." does not exist??",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1208 "You do not exist. Go away.");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1209
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1210 if ($entry["owner_id"] != $userID)
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1211 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1212 "User ID #".$userID." attempted to upload file to an entry that is not owned by him (@ ".$_SERVER["REMOTE_ADDR"].")",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1213 "Attempted to upload file to entry not owned by user.");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1214 }
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1215
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1216 // Check file status data
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1217 $maxFileSize = stGetSetting($uploadType."MaxSize");
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1218
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1219 $index = $uploadType."ToUpload".$entryID;
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1220 $fileSize = $_FILES[$index]["size"];
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1221 $tmpFilename = $_FILES[$index]["tmp_name"];
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1222 $orgFilename = $_FILES[$index]["name"];
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1223
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1224 if ($fileSize > $maxFileSize)
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1225 stError("File size ".$fileSize." exceeds FAPWeb's size of ".$maxFileSize." bytes for ".$uploadType." uploads.");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1226
959
1b95dcd0b566 Be more lenient about minimum size of uploaded files.
Matti Hamalainen <ccr@tnsp.org>
parents: 957
diff changeset
1227 if ($fileSize < 16)
1b95dcd0b566 Be more lenient about minimum size of uploaded files.
Matti Hamalainen <ccr@tnsp.org>
parents: 957
diff changeset
1228 stError("File size ".$fileSize." is less than 16 bytes. This can't be right.");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1229
845
123cd6868b1b Rework file upload backend code a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 844
diff changeset
1230 switch ($_FILES[$index]["error"])
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1231 {
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1232 case UPLOAD_ERR_INI_SIZE:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1233 stError("File size exceeds PHP's max upload size.");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1234 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1235
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1236 case UPLOAD_ERR_PARTIAL:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1237 stError("File only partially uploaded.");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1238 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1239
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1240 case UPLOAD_ERR_NO_FILE:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1241 stError("No file data received!");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1242 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1243
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1244 case UPLOAD_ERR_NO_TMP_DIR:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1245 stError("Internal error: Temporary file directory not available!");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1246 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1247
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1248 case UPLOAD_ERR_CANT_WRITE:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1249 stError("Internal error: PHP could not write the file to disk.");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1250 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1251
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1252 case UPLOAD_ERR_OK:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1253 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1254
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1255 default:
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1256 stError("Unknown PHP file error occured.");
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1257 break;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1258 }
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1259
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1260 if ($errorSet)
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1261 return FALSE;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1262
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1263
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1264 // Check file properties ..
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1265 if (($fileInfo = stProbeFileInfo($tmpFilename)) === FALSE)
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1266 return FALSE;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1267
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1268 if ($uploadType == "preview" && !isset($fileInfo["type"]))
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1269 return stError("Preview file upload is not one of the supported preview file types.");
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
1270
841
f007e63f82d6 Use original filename extension if we can't determine a solid file type.
Matti Hamalainen <ccr@tnsp.org>
parents: 840
diff changeset
1271 // Get original extension
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1272 if (($fileExt = $fileInfo["fext"]) === FALSE)
841
f007e63f82d6 Use original filename extension if we can't determine a solid file type.
Matti Hamalainen <ccr@tnsp.org>
parents: 840
diff changeset
1273 {
960
af501f585941 Minor fixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 959
diff changeset
1274 $fileExt = "bin";
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1275 if (($epos = strrpos($orgFilename, ".")) !== FALSE)
960
af501f585941 Minor fixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 959
diff changeset
1276 $fileExt = substr($orgFilename, $epos + 1);
841
f007e63f82d6 Use original filename extension if we can't determine a solid file type.
Matti Hamalainen <ccr@tnsp.org>
parents: 840
diff changeset
1277 }
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1278
852
5eda5f9c7437 Rename a function.
Matti Hamalainen <ccr@tnsp.org>
parents: 848
diff changeset
1279 // Update current or add new file entry
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1280 if (($fentry = stAddFileEntry($entry, $uploadType, $orgFilename, $fileSize, $fileExt, $fileInfo["id"], $userID)) === FALSE)
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1281 return FALSE;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1282
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1283 // Set permissions before moving the file
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1284 if (chmod($tmpFilename, stGetSetting($uploadType."PathPerms")) === FALSE)
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1285 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1286 "Could not set permissions for uploaded file '".$tmpFilename."'.",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1287 "Internal error. Could not set permissions for uploaded file. Contact site admins.");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1288
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1289 // Move file to its destination
880
6db8ef2bb1b5 Changed stMakePath() API.
Matti Hamalainen <ccr@tnsp.org>
parents: 874
diff changeset
1290 $dstFilename = stMakePath(FALSE, TRUE, array(stGetSetting("entryPath"), $compo["cpath"], $fentry["filename"]));
1104
0a2117349f46 s/true/TRUE/g; s/false/FALSE/g;
Matti Hamalainen <ccr@tnsp.org>
parents: 1092
diff changeset
1291 if (@move_uploaded_file($tmpFilename, $dstFilename) === FALSE)
864
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1292 return stFileError($userID,
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1293 "Could not move uploaded file '".$tmpFilename."' to '".$dstFilename."'.",
16bc6c1029ee Handle file upload errors more nicely.
Matti Hamalainen <ccr@tnsp.org>
parents: 861
diff changeset
1294 "Internal error. Deploying uploaded file failed! Contact site admins.");
823
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1295
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1296 return TRUE;
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1297 }
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1298
debad9461b00 Add stHandleGenericFileUpload().
Matti Hamalainen <ccr@tnsp.org>
parents: 820
diff changeset
1299
797
7126403af18f Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 796
diff changeset
1300 function stNormalizeListSlideOrder($list_id)
7126403af18f Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 796
diff changeset
1301 {
7126403af18f Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 796
diff changeset
1302 }
7126403af18f Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 796
diff changeset
1303
7126403af18f Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 796
diff changeset
1304
1029
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1305 function stAddCompoEntry($compo, $uid)
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1306 {
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1307 switch ($compo["ctype"])
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1308 {
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1309 case COMPO_NORMAL:
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1310 $sql = stPrepareSQL(
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1311 "INSERT INTO entries (name,author,compo_id,info,notes,preview_type,utime,owner_id) VALUES (%S,%S,%d,%Q,%Q,%D,%d,%d)",
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1312 "name", "author", $compo["id"], "info", "notes", "preview_type", time(), $uid);
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1313 break;
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
1314
1029
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1315 case COMPO_POINTS:
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1316 case COMPO_ASSIGN:
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1317 $sql = stPrepareSQL(
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1318 "INSERT INTO entries (name,compo_id,notes,evalue,utime,owner_id) VALUES (%S,%d,%Q,%D,%d,%d)",
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1319 "name", $compo["id"], "notes", "evalue", time(), $uid);
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1320 break;
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1321 }
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1322
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1323 return stExecSQLCond($sql, "OK, entry added.");
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1324 }
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1325
35a00a986f79 Factorize compo entry adding into stAddCompoEntry().
Matti Hamalainen <ccr@tnsp.org>
parents: 1015
diff changeset
1326
1032
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1327 function stDeleteCompoEntry($id)
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1328 {
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1329 // Delete entry itself
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1330 $sql = stPrepareSQL("DELETE FROM entries WHERE id=%d", $id);
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1331 stExecSQLCond($sql, "OK, entry ".$id." deleted.");
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1332
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1333 // Delete votes for the entry
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1334 $sql = stPrepareSQL("DELETE FROM votes WHERE entry_id=%d", $id);
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1335 stExecSQLCond($sql, "OK, entry ".$id." votes deleted.");
1120
b2bca5f6d0ff Cosmetic cleanup: remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 1118
diff changeset
1336
1032
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1337 // Mark related files to be deleted
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1338 $sql = stPrepareSQL("UPDATE files SET deleted=%d WHERE entry_id=%d", 1, $id);
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1339 stExecSQLCond($sql, "OK, entry ".$id." files marked.");
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1340 }
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1341
9fffc9e7e1b6 Add stDeleteCompoEntry() and use it.
Matti Hamalainen <ccr@tnsp.org>
parents: 1029
diff changeset
1342
0
8019b357cc03 Initial import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1343 ?>