Mercurial > hg > fapweb
annotate createdb.php @ 185:449b2862cc75
Use field sizes in database creation.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 08 Nov 2013 18:55:04 +0200 |
parents | e227e6a3d46b |
children | dbc6f214b825 |
rev | line source |
---|---|
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 #!/usr/bin/php |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 <? |
175
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
170
diff
changeset
|
3 require_once "mconfig.inc.php"; |
8df523e6326a
User require_once instead of require.
Matti Hamalainen <ccr@tnsp.org>
parents:
170
diff
changeset
|
4 require_once "msite.inc.php"; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
5 |
50
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
6 // Check if we are running from commandline or not |
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
7 if (php_sapi_name() != "cli" || !empty($_SERVER["REMOTE_ADDR"])) |
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
8 { |
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
9 header("Status: 404 Not Found"); |
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
10 die(); |
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
11 } |
184a4188555c
Move CLI helper functions to createdb.php, as they are now only used there.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
12 |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
13 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
14 // The defaults we put in |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
15 $siteDefaults = array( |
103
c6b9041078ec
Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
16 "maxAttendeesHard" => array(VT_INT, 60, "Maximum attendees (HARD limit, 0 = no limit)"), |
c6b9041078ec
Add hard limit option for attendees, and add feature of using "0" to disable
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
17 "maxAttendeesSoft" => array(VT_INT, 50, "Maximum attendees (soft limit, 0 = no limit)"), |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
18 |
158
96aae4beb558
Clean up some references to entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
19 "userTimeout" => array(VT_INT, 120, "User pages (voting) timeout in minutes"), |
32 | 20 "admTimeout" => array(VT_INT, 15, "Administration interface timeout in minutes"), |
27
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
21 |
62
101cde58b267
Add a new setting for ASCII vs. HTML table output for compo results.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
22 "showAdmin" => array(VT_BOOL, false, "Always show administration interface link on the menu"), |
119
99e7569c9f4f
Change the default of some boolean settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
23 "showAttendees" => array(VT_BOOL, true, "Show attendees list"), |
11
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
24 "allowRegister" => array(VT_BOOL, false, "Enable event registration"), |
27
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
25 "allowVoting" => array(VT_BOOL, false, "Enable voting (individual compos must be enabled as well)"), |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
26 |
11
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
27 "showResults" => array(VT_BOOL, false, "Enable results page"), |
62
101cde58b267
Add a new setting for ASCII vs. HTML table output for compo results.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
28 "showResultsASCII" => array(VT_BOOL, true, "Show results as ASCII instead of HTML table"), |
119
99e7569c9f4f
Change the default of some boolean settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
113
diff
changeset
|
29 "showResAuthors" => array(VT_BOOL, true, "Show entry authors on results page"), |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
30 |
16 | 31 "requireEMail" => array(VT_BOOL, false, "Require e-mail address in registrations"), |
32 | |
123
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
33 "showNews" => array(VT_BOOL, true, "Enable News link on main menu"), |
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
34 "showNewsOnAbout" => array(VT_BOOL, true, "Show latest news item on About page"), |
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
35 |
16 | 36 "registerInfoText" => array(VT_TEXT, "<p> |
37 Only your <b>handle</b> and the answer to the botcheck are strictly required. | |
38 If you plan on joining the IRC channel | |
63 | 39 (<a href=\"irc://#fap2013@ircnet\">#fap2013 @ IRCNet</a>) or staying up to date by other means, |
16 | 40 <b>e-mail</b> is not required either. |
41 </p>", "Registration page info text"), | |
42 | |
182
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
43 "registerPostText" => array(VT_TEXT, " |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
44 <h1>Registration successful</h1> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
45 <p>Now go make a demo about it!</p>", |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
46 "Successful post-registration note text"), |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
47 |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
48 "registerLimitExceeded" => array(VT_TEXT, " |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
49 <h1>Sorry, registration disabled!</h1> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
50 <p> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
51 Registration to the event is not available at this time due to |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
52 number of attendees limit having been reached. <b>:(</b> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
53 </p> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
54 ", |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
55 "Registration attendee limit exceeded note text"), |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
56 |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
57 "registerNotEnabled" => array(VT_TEXT, " |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
58 <h1>Sorry, registration disabled!</h1> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
59 <p> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
60 Registration to the event is not enabled at this time. |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
61 </p> |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
62 ", |
e227e6a3d46b
Move some texts to settings.
Matti Hamalainen <ccr@tnsp.org>
parents:
175
diff
changeset
|
63 "Registration not enabled note text"), |
16 | 64 |
65 "registerPostNoEmail" => array(VT_TEXT, " | |
66 <h2>By the way ...</h2> | |
67 <p>As you did not specify an e-mail contact address, you'll have to get updates | |
68 and information about the location (if you don't already know it) by | |
69 some other means (IRC, for example.)</p> | |
70 ", "No e-mail address registration note"), | |
71 | |
72 "eventDescription" => array(VT_TEXT, " | |
73 <h1>Event program & schedule</h1> | |
74 <ul> | |
75 <li><b>Aegis</b> of DSS and FAG will be performing a DJ gig.</li> | |
76 <li>.. and possible additional live acts. More info to come.</li> | |
77 </ul> | |
78 | |
79 <h2>Friday 30.11.</h2> | |
80 <ul> | |
81 <li><b>18:00</b> - <i>Doors open</i>.</li> | |
82 <li><b>22:00</b> - DJ set by Aegis.</li> | |
83 </ul> | |
84 | |
85 <h2>Saturday 1.12.</h2> | |
86 <ul> | |
87 <li><b>14:00</b> - Deadline for remote entries.</li> | |
88 <li><b>18:00</b> - Deadline for the entries delivered on location.</li> | |
89 <li><b>20:00</b> - Competitions start.</li> | |
90 </ul> | |
91 | |
92 Competition schedule and voting deadline will depend on number of entries. | |
93 | |
94 <h2>Sunday 2.12.</h2> | |
95 <ul> | |
96 <li><b>12:00</b> - Party over?</li> | |
97 </ul> | |
98 ", "Event general description / timetables etc."), | |
99 | |
100 | |
14
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
101 "compoDescription" => array(VT_TEXT, " |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
102 <h1>General</h1> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
103 <p class=\"notice\"> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
104 YOU <b>MUST</b> HAVE AT LEAST ONE ENTRY TO COMPETITIONS IF YOU COME TO THE PARTY. |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
105 </p> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
106 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
107 <p class=\"note\"> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
108 If there are enough entries, then AGA/OCS/ECS demos will be run in separate compos. |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
109 <br /> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
110 Remote entries are welcome! |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
111 </p> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
112 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
113 <p> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
114 The compo machine will be an <b>A1200 with an 060/50 and lots of |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
115 RAM</b>. An <b>A500 1.3 512k/512k</b> will also be available if your |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
116 prod is not AGA compatible. |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
117 </p> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
118 |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
119 <h1>Compos</h1> |
e36c4d2b09c4
Fix settings to work, clean up the code, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
11
diff
changeset
|
120 ", "Compo general description"), |
16 | 121 |
122 | |
123 "siteInfoText" => array(VT_TEXT, " | |
150
4b91002a9900
Fix default header image link.
Matti Hamalainen <ccr@tnsp.org>
parents:
148
diff
changeset
|
124 <a href=\"about\"> |
47 | 125 <img src=\"img/fapsm.png\" alt=\"Finnish Amiga Party 2013\" class=\"logo\" /></a> |
16 | 126 <div id=\"date\"> |
47 | 127 5.-8.12.2013<br /> |
16 | 128 Helsinki, Finland<br /> |
129 @ old location<br /> | |
47 | 130 <span class=\"notice\">Entry 15 EUR + prod</span> |
16 | 131 </div>", "Site header text"), |
132 | |
133 | |
123
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
134 "newsHeader" => array(VT_TEXT, "", "News page header text"), |
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
135 |
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
136 |
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
137 "aboutDescription" => array(VT_TEXT, " |
9
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
138 <div style=\"text-align: center;\"> |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
139 <img src=\"img/fap.png\" alt=\"FAP\" /> |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
140 <p> |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
141 Pure Amiga demoscene party, all traditional Amiga compos and purely Amiga-oriented program. |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
142 <br /> |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
143 <span class=\"notice\"> |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
144 YOU <b>MUST</b> HAVE AT LEAST ONE ENTRY TO COMPETITIONS IF YOU COME TO THE PARTY. |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
145 </span> |
fa9b66f596bb
More work on settings storage.
Matti Hamalainen <ccr@tnsp.org>
parents:
8
diff
changeset
|
146 </p> |
11
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
147 </div>", |
123
5837b9333964
Add new "about" page, and setting for default page.
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
148 "About page text"), |
29 | 149 |
104 | 150 "siteMenuHeader" => array(VT_TEXT, "<div>13.FAP:> <span class=\"mblink\">■</span></div>", "Site menu header text"), |
47 | 151 "siteMenuFooter" => array(VT_TEXT, "", "Site menu footer text"), |
106
324f3a415237
Add extra HTML + sponsors box to layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
104
diff
changeset
|
152 "siteExtraHTML" => array(VT_TEXT, "<div id=\"sponsors\">Gentle Eye</div>", "Extra global HTML code (f.e. sponsors box)"), |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
153 ); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
155 $sqlTables = array( |
73 | 156 "settings" => "key VARCHAR(32) PRIMARY KEY, vtype INT, vstr VARCHAR(128), vtext TEXT, vint INT, desc VARCHAR(128)", |
185
449b2862cc75
Use field sizes in database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
182
diff
changeset
|
157 "news" => "id INTEGER PRIMARY KEY AUTOINCREMENT, utime INT, title VARCHAR(".SET_LEN_NEWS_TITLE."), text VARCHAR(".SET_LEN_NEWS_TEXT."), author VARCHAR(".SET_LEN_NEWS_AUTHOR."), persist INT DEFAULT 0", |
449b2862cc75
Use field sizes in database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
182
diff
changeset
|
158 "compos" => "id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(".SET_LEN_COMPO_NAME."), description VARCHAR(".SET_LEN_COMPO_DESC."), visible INT DEFAULT 0, voting INT DEFAULT 0, showAuthors INT DEFAULT 0", |
449b2862cc75
Use field sizes in database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
182
diff
changeset
|
159 "entries" => "id INTEGER PRIMARY KEY AUTOINCREMENT, show_id INT DEFAULT 0, name VARCHAR(".SET_LEN_ENTRY_NAME."), author VARCHAR(".SET_LEN_ENTRY_AUTHOR."), compo_id INT DEFAULT NULL, filename VARCHAR(".SET_LEN_ENTRY_FILENAME.") DEFAULT NULL, info VARCHAR(".SET_LEN_ENTRY_INFO.") DEFAULT NULL", |
73 | 160 |
185
449b2862cc75
Use field sizes in database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
182
diff
changeset
|
161 "attendees" => "id INTEGER PRIMARY KEY AUTOINCREMENT, regtime INT, name VARCHAR(".SET_LEN_USERNAME."), groups VARCHAR(".SET_LEN_GROUPS."), oneliner VARCHAR(".SET_LEN_ONELINER."), email VARCHAR(".SET_LEN_EMAIL."), key_id INT DEFAULT NULL", |
73 | 162 |
88
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
163 "votekeys" => "id INTEGER PRIMARY KEY AUTOINCREMENT, key VARCHAR(64), active INT DEFAULT 0", |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
164 "votes" => "id INTEGER PRIMARY KEY AUTOINCREMENT, entry_id INT DEFAULT NULL, voter_id INT DEFAULT NULL, value INT DEFAULT 0", |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
165 |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
166 "displayVars" => "key VARCHAR(32) PRIMARY KEY, vtype INT, vstr VARCHAR(128), vtext TEXT, vint INT, desc VARCHAR(128)", |
140
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
167 "displaySlides" => "id INTEGER PRIMARY KEY AUTOINCREMENT, title VARCHAR(128), text VARCHAR(4096)", |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
168 "displayListData" => "id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(128)", |
140
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
169 "displayListSlides" => "id INTEGER PRIMARY KEY AUTOINCREMENT, list_id INT DEFAULT 0, slide_id INT DEFAULT 0", |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
170 ); |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
171 |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
172 $siteDisplayVars = array( |
148
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
173 "showMode" => array(VT_INT, 0, "Currently active display mode"), |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
174 "rotateDuration" => array(VT_INT, 15, "Slide rotation time per slide (seconds)"), |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
175 |
142
d2e9285b69ad
More work on the party info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
140
diff
changeset
|
176 "tempDuration" => array(VT_INT, 120, "Temporary slide display time (seconds)"), |
140
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
177 "tempSlide" => array(VT_INT, 0, "Temporary slide ID"), |
148
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
178 |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
179 "compoID" => array(VT_INT, 0, "Compo ID of current compo"), |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
180 "compoPrevEntry" => array(VT_INT, 0, "Previously shown compo entry"), |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
181 "compoCurrEntry" => array(VT_INT, 0, "Current / next compo entry to be shown"), |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
182 |
6d4325451570
And some more work on the info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
145
diff
changeset
|
183 // Not user-manageable |
145
66b485431cac
Change how slides are updated.
Matti Hamalainen <ccr@tnsp.org>
parents:
142
diff
changeset
|
184 "tempSlideSet" => array(VT_BOOL, false, "Temporary slide set"), |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
185 |
140
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
186 "activeSlideMode" => array(VT_INT, 0, "Current active slide display mode"), |
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
187 "activeSlide" => array(VT_INT, 0, "Current active slide"), |
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
188 "activeSlideExpire" => array(VT_INT, 0, "Expiration timestamp of current slide"), |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
189 |
142
d2e9285b69ad
More work on the party info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
140
diff
changeset
|
190 "rotateList" => array(VT_INT, 0, "Current rotation list ID"), |
d2e9285b69ad
More work on the party info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
140
diff
changeset
|
191 "rotateListIndex" => array(VT_INT, 0, "Current index in rotation list"), |
145
66b485431cac
Change how slides are updated.
Matti Hamalainen <ccr@tnsp.org>
parents:
142
diff
changeset
|
192 |
66b485431cac
Change how slides are updated.
Matti Hamalainen <ccr@tnsp.org>
parents:
142
diff
changeset
|
193 "lastUpdate" => array(VT_INT, 0, "Timestamp of last slide update"), |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
194 ); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
195 |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
196 $siteTestData = array( |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
197 "news" => array( |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
198 "utime,title,text,author", |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
199 time().",%s,%s,%s", |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
200 array("Today's news", "We. Are. Back.", "orgaz"), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
201 array("Good news, everybody!", "...", "The Professor"), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
202 ), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
203 |
88
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
204 "votekeys" => array( |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
205 "key", |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
206 "%s", |
120
2c594958050e
Make test vote keys "testN" where N >= 1
Matti Hamalainen <ccr@tnsp.org>
parents:
119
diff
changeset
|
207 array("test1"), |
2c594958050e
Make test vote keys "testN" where N >= 1
Matti Hamalainen <ccr@tnsp.org>
parents:
119
diff
changeset
|
208 array("test2"), |
88
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
209 array("7jjnqt5z"), |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
210 array("c7jcfk1G"), |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
211 ), |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
212 |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
213 "attendees" => array( |
88
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
214 "regtime,name,groups,oneliner,email", |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
215 "%d,%s,%s,%s,%s", |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
216 array(time()-0, "man with no alias", "supergroup", "foo-bar", "c@supergroup.com"), |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
217 array(time()-15, "man with alias", "supergroup", "hi!", "c@supergroup.com"), |
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
218 array(time()-30, "alias with a man", "supergroup", "mega super kewl rulets", "x@microsoft.com"), |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
219 ), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
220 |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
221 "compos" => array( |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
222 "name,description,visible,voting", |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
223 "%s,%s,1,1", |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
224 array("Graphics", "Anything in standard resolutions."), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
225 array("Protracker music", "Standard 4-channel Protracker MOD music."), |
170 | 226 array("4k intro", "4k intro competition"), |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
227 ), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
228 |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
229 "entries" => array( |
170 | 230 "name,author,compo_id,filename,info", |
231 "%s,%s,%d,%s,%s", | |
232 array("Donkey Dong", "electric/extend", 1, "donkey.lbm", "amigaaaah!"), | |
233 array("Your kondom", "ccr/TNSP", 1, "kondom.lbm", "oh my god, it's full of cocks!"), | |
234 array("Penis song", "reed/flt", 2, "penis.mod", "laulu rakkaudelle"), | |
235 array("jenkka", "aegis", 2, "jenkka.mod", ""), | |
236 array("Fungiform 2", "mfx", 3, "mfx-fungiform2.lzh"), | |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
237 ), |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
238 |
140
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
239 "displaySlides" => array( |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
240 "title,text", |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
241 "%s,%s", |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
242 array("Next Up", "<h1>Next up: 4k intro</h1><h2>4k intro compo is about to begin</h2>... in about 10 minutes."), |
142
d2e9285b69ad
More work on the party info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
140
diff
changeset
|
243 array("Astu to infodesk", "<b>Astu</b> - please come to info desk!"), |
d2e9285b69ad
More work on the party info system.
Matti Hamalainen <ccr@tnsp.org>
parents:
140
diff
changeset
|
244 array("Gentle Eye mainos", "<b>Buy Amiga stuff!</b><br />Gentle Eye Oy is selling Amiga-related stuff near organizer desk!"), |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
245 ), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
246 |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
247 "displayListData" => array( |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
248 "name", |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
249 "%s", |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
250 array("Main rotation"), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
251 array("Next Up"), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
252 ), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
253 |
140
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
254 "displayListSlides" => array( |
20ca8edfb01a
Rename some settings and variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
139
diff
changeset
|
255 "list_id,slide_id", |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
256 "%d,%d", |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
257 array(1,2), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
258 array(1,3), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
259 array(2,1), |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
260 ), |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
261 ); |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
262 |
88
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
263 |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
264 // |
36 | 265 // Helper functions |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
266 // |
100 | 267 function stCArg($index) |
268 { | |
269 global $argc, $argv; | |
270 if ($index < $argc) | |
271 return $argv[$index]; | |
272 else | |
273 return FALSE; | |
274 } | |
275 | |
276 function stCArgLC($index) | |
277 { | |
278 global $argc, $argv; | |
279 if ($index < $argc) | |
280 return strtolower($argv[$index]); | |
281 else | |
282 return FALSE; | |
283 } | |
284 | |
285 | |
286 function stCSQLError($sql) | |
287 { | |
288 global $db; | |
289 die("Error executing SQL query: ".implode("; ", $db->errorInfo())." in statement \"".$sql."\"\n"); | |
290 exit; | |
291 } | |
292 | |
293 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
294 function stConnectDB($dbspec) |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
295 { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
296 global $db; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
297 try { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
298 $db = new PDO($dbspec); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
299 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
300 catch (PDOException $e) { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
301 error_log("Could not connect to SQL database '".$dbspec."': ".$e->getMessage()."."); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
302 return FALSE; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
303 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
304 return TRUE; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
305 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
306 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
307 |
11
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
308 function stCreateOneTable($name, $schema) |
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
309 { |
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
310 return (stExecSQL("CREATE TABLE ".$name." (".$schema.")") !== FALSE) ? TRUE : FALSE; |
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
311 } |
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
312 |
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
313 |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
314 function stCreateTables() |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
315 { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
316 global $sqlTables; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
317 echo "Creating tables...\n"; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
318 foreach ($sqlTables as $name => $schema) |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
319 { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
320 echo " - '".$name."'\n"; |
11
c10bf196390f
Improve database initialization script.
Matti Hamalainen <ccr@tnsp.org>
parents:
9
diff
changeset
|
321 if (!stCreateOneTable($name, $schema)) |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
322 return FALSE; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
323 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
324 return TRUE; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
325 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
326 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
327 |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
328 function stAddSettings($settings, $table) |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
329 { |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
330 echo "Adding settings to '".$table."' table.\n"; |
80 | 331 |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
332 foreach ($settings as $key => $data) |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
333 { |
80 | 334 switch ($data[0]) |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
335 { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
336 case VT_TEXT: $type = "%s"; $var = "vtext"; break; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
337 case VT_STR: $type = "%s"; $var = "vstr"; break; |
72
63a6caf59e5c
Fix creation of boolean settings, and add '%b' formatter into stPrepareSQL().
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
338 case VT_BOOL: $type = "%b"; $var = "vint"; break; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
339 case VT_INT: $type = "%d"; $var = "vint"; break; |
80 | 340 default: die("Invalid type in default settings '".$key."', type=".$data[0]."\n"); |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
341 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
342 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
343 $sql = stPrepareSQL( |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
344 "INSERT INTO ".$table." (key,vtype,".$var.",desc) VALUES (%s,%d,".$type.",%s)", |
80 | 345 $key, $data[0], $data[1], $data[2]); |
346 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
347 stExecSQL($sql); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
348 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
349 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
350 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
351 |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
352 function stAddTestData() |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
353 { |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
354 global $siteTestData; |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
355 echo "Adding test data.\n"; |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
356 |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
357 foreach ($siteTestData as $table => $data) |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
358 { |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
359 echo " - ".$table."...\n"; |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
360 if (count($data) >= 3) |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
361 { |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
362 for ($n = 2; $n < count($data); $n++) |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
363 { |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
364 $arr = array_merge( |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
365 array("INSERT INTO ".$table." (".$data[0].") VALUES (".$data[1].")"), |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
366 $data[$n]); |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
367 |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
368 $sql = call_user_func_array('stPrepareSQL', $arr); |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
369 stExecSQL($sql); |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
370 } |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
371 } |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
372 else |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
373 { |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
374 echo " Invalid table / data definition.\n"; |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
375 } |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
376 } |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
377 } |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
378 |
36 | 379 // |
380 // Main program starts | |
381 // | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
382 if ($argc < 2) |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
383 { |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
384 echo "Usage: ".$argv[0]." <mode> [args]\n". |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
385 "Where mode is one of following:\n". |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
386 "\n". |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
387 " new [dbspec] Create a new database with given PDO spec\n". |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
388 " or default to the one in mconfig.inc.php\n". |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
389 "\n". |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
390 " test [dbspec] Like new, but add initial test data.\n". |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
391 "\n"; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
392 exit; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
393 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
394 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
395 |
94
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
396 if (!isset($siteSettings["voteKeyMode"]) || $siteSettings["voteKeyMode"] < 0) |
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
397 { |
100 | 398 echo "FATAL ERROR! VoteKeyMode not set in site settings! This setting ". |
94
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
399 "MUST be defined and should not be changed after database creation.\n"; |
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
400 exit; |
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
401 } |
6edd7d623eab
Start adding votekey modes code.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
402 |
81 | 403 // Check if database spec provided, if not use default |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
404 if (($spec = stCArg(2)) === FALSE) |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
405 $spec = $siteSettings["sqlDB"]; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
406 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
407 |
81 | 408 // Try to connect to database |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
409 if (!stConnectDB($spec)) |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
410 die("Could not connect to SQL database '".$spec."'.\n"); |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
411 |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
412 echo "Using database spec '".$spec."'.\n"; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
413 |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
414 |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
415 // Act according to specified command |
88
784953d60ba5
More work on test data generation.
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
416 $addData = FALSE; |
27
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
417 switch (stCArgLC(1)) |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
418 { |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
419 case "test": |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
420 $addData = TRUE; |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
421 |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
422 case "new": |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
423 if (stCreateTables()) |
139
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
424 { |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
425 stAddSettings($siteDefaults, "settings"); |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
426 stAddSettings($siteDisplayVars, "displayVars"); |
75cf14ee99a7
More work on party information system.
Matti Hamalainen <ccr@tnsp.org>
parents:
123
diff
changeset
|
427 } |
27
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
428 |
85
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
429 if ($addData) |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
430 stAddTestData(); |
50d6c69836a1
Add test data mode for database creation.
Matti Hamalainen <ccr@tnsp.org>
parents:
81
diff
changeset
|
431 |
27
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
432 if (substr($spec, 0, 7) == "sqlite:") |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
433 { |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
434 $filename = substr($spec, 7); |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
435 echo "NOTICE! It seems you have SQLite database in use, changing permission ". |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
436 "of the target file '".$filename."' to 0600, for security. You may have to ". |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
437 "loosen up that for the things to actually work, but be careful. Having your ". |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
438 "database world-readable in the web is NOT good.\n"; |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
439 |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
440 if (chmod($filename, 0600) === FALSE) |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
441 { |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
442 echo "ERROR! Could not set permissions!\n"; |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
443 } |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
444 } |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
445 break; |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
446 |
27
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
447 default: |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
448 echo "ERROR! Invalid operation mode '".stCArg(1)."'.\n"; |
b27204653615
Work on adding support for entry submission.
Matti Hamalainen <ccr@tnsp.org>
parents:
26
diff
changeset
|
449 break; |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
450 } |
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
451 |
28 | 452 |
453 // | |
454 // Clean up permissions | |
455 // | |
67
23eba98e1575
Remove keygen.php from permission cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
456 foreach (array("createdb.php") as $filename) |
28 | 457 { |
458 if (chmod($filename, 0700) === FALSE) | |
459 { | |
460 echo "ERROR! Could not set permissions for '$filename'!\n"; | |
461 } | |
462 } | |
463 | |
8
4c5f651aa107
Migrate certain settings to SQL database, cleanups, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
464 ?> |