annotate msite.inc.php @ 980:18b48fe650ec

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