-
Notifications
You must be signed in to change notification settings - Fork 109
/
config.php
297 lines (269 loc) · 9.27 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
<?php
date_default_timezone_set('Europe/Berlin');
$GLOBALS['CONFIG'] = [];
/**
* Wenn die Webseite über diese Domain aufgerufen wird,
* werden alle OPEN/CLOSED Informationen der einzelnen Konferenzen
* ignoriert und immer alle Konferenzen in der Übersicht angezeigt.
*
* Dies eignet sich gut zum testen der Streaming-Seite, während
* die eigenliche Produktivseite noch nicht sichtbar ist.
*
* Für die Lokale entwicklung kann es hilfreich sein, diese auf
* 'localhost' zu setzen und so ebenfalls unabhängig von den OPEN/CLOSED
* Informationen der einzelnen Konferenzen testen zu können.
*/
$GLOBALS['CONFIG']['PREVIEW_DOMAIN'] = 'xlocalhost';
/**
* Während der Entwicklung wird die BASEURL automatisch erraten
* In Produktionssituationen sollte manuell eine konfiguriert werden um Überraschungen zu vermeiden
*
* Protokollfreie URLs (welche, die mit // beginnen), werden automatisch mit dem korrekten Protokoll ergänzt.
* In diesem Fall wird auch ein SSL-Umschalt-Button im Header angezeigt
*/
if(isset($_SERVER['SERVER_NAME']) && ($_SERVER['SERVER_NAME'] == 'localhost' || $_SERVER['SERVER_NAME'] == '0.0.0.0'))
{
// keine Konfiguration -> BASEURL wird automatisch erraten
}
else if(isset($_SERVER['SERVER_NAME']) && ($_SERVER['SERVER_NAME'] == 'streaming.test.c3voc.de'))
{
$GLOBALS['CONFIG']['BASEURL'] = '//streaming.test.c3voc.de/';
}
else
{
// Set a safe Default
$GLOBALS['CONFIG']['BASEURL'] = '//streaming.media.ccc.de/';
}
/**
* Wenn die Konfiguration einer Konferenz/Mandant nicht im Dateisystem gefunden wird:
* Soll die Streamingwebseite versuchen diese bei data.c3voc.de per API abzufragen?
*/
$GLOBALS['CONFIG']['DYNAMIC_LOOKUP'] = false;
/**
* Konfiguration für den Datei-Download Cronjob
*/
$GLOBALS['CONFIG']['DOWNLOAD'] = [
/**
* Verweigeren Download, wenn der PHP-Prozess unter einem anderen Benutzer als diesem läuft
* Auskommentieren um alle Benutzer zu erlauben
*/
//'REQUIRE_USER' => 'www-data',
/**
* Wartende HTTP-Downloads nach dieser Anzahl von Sekunden abbrechen
*/
'HTTP_TIMEOUT' => 5 /* Sekunden */,
/**
* Nur Dateien von Konferenzen herunterladen, die weniger als
* diese Anzahl von Tagen alt sind (gemessen am END_DATE)
*
* Auskommentieren, um alle Konferenzen zu beachten
*/
'MAX_CONFERENCE_AGE' => 365 /* Tage */,
];
$GLOBALS['CONFIG']['CDN'] = "cdn.c3voc.de";
/**
* Konfiguration des Feedback-Formulars
*
* Wird dieser Block auskommentiert, wird das gesamte Feedback-System deaktiviert
*/
$GLOBALS['CONFIG']['FEEDBACK'] = array(
/**
* DSN zum abspeichern der eingegebenen Daten
* die Datenbank muss eine Tabelle enthaltem, die dem in `lib/schema.sql` angegebenen
* Schema entspricht.
*
* Achtung vor Dateirechten: Bei SQLite reicht es nicht, wenn wer Webseiten-Benutzer
* die .sqlite3-Datei schreiben darf, er muss auch im übergeordneten Order neue
* (Lock-)Dateien anlegen dürfen
*/
'DSN' => 'sqlite:/opt/streaming-feedback/feedback.sqlite3',
/**
* Login-Daten für die /feedback/read/-Seite, auf der eingegangenes
* Feedback gelesen werden kann.
*
* Durch auskommentieren der beiden Optionen wird diese Seite komplett deaktiviert,
* es kann dann nur noch durch manuelle Inspektion der .sqlite3-Datei auf das Feedback
* zugegriffen werden.
*/
'USERNAME' => 'katze',
'PASSWORD' => trim(@file_get_contents('/opt/streaming-feedback/feedback-password')),
);
/**
* Konfiguration der Room-Defaults
*
* Falls in der Raum-Konfiguration innerhalb der Konferenz für diese Keys nichts definiert ist,
* fällt das System auf diese Werte zurück.
*/
$GLOBALS['CONFIG']['ROOM_DEFAULTS'] = array(
/**
* Breite Teaser in der Übersichtsseite
*/
'WIDE' => false,
/**
* Stream-Vorschaubildchen auf der Übersichtsseite anzeigen
* Damit das funktioniert muss der entsprechende runit-Task auf dem
* CDN-Quell-Host (live.ber) laufen.
*/
'PREVIEW' => true,
/**
* Übersetzungstonspur aktivieren
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist werden nur
* die native-Streams verwendet, andernfalls wird native und translated
* angeboten und auch für beide Tonspuren eine Player-Seite angezeigt.
*
* Betrifft video sd / hd, slides, audio
*
* Ein Label für die Übersetzung oder mehrere Übersetzungsspuren können
* wie folgt konfiguriert werden:
*
* 'TRANSLATION' => [
* ['endpoint' => 'translated', 'label' => 'Translated1'],
* ['endpoint' => 'translated-2', 'label' => 'Translated2']
* ],
*
* Ein einfaches true entspricht dabei folgendem:
*
* 'TRANSLATION' => [
* ['endpoint' => 'translated', 'label' => 'Translated']
* ],
*
* Sollte die Sprache während der Veranstaltung Konstant sein, kann ein
* Label auch spezifisch konfiguriert werden z.B. 'label' => 'English'.
*/
/*
'TRANSLATION' => [
['endpoint' => 'translated', 'label' => 'Translated1'],
['endpoint' => 'translated-2', 'label' => 'Translated2']
],
*/
'STEREO' => false,
/**
* SD-Video-Stream (1024×576) verfügbar
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein SD-Video
* angeboten. Wird auch HD_VIDEO auf false gesetzt oder auskommentiert ist, wird
* für diesen Raum überhaupt kein Video angeboten.
*
* In diesem Fall wird, sofern jeweils aktiviert, Slides, Audio und zuletzt Musik
* als Default-Stream angenommen.
*/
'SD_VIDEO' => true,
/**
* HD-Video-Stream (1920×1080) verfügbar
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein HD-Video
* angeboten. Wird auch SD_VIDEO auf false gesetzt oder auskommentiert ist, wird
* für diesen Raum überhaupt kein Video angeboten.
*
* In diesem Fall wird, sofern jeweils aktiviert, Slides, Audio und zuletzt Musik
* als Default-Stream angenommen.
*/
'HD_VIDEO' => true,
'DASH' => true,
'H264_ONLY' => true,
/**
* Slide-Only-Stream (1024×576) verfügbar
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein Slide-Only-
* Stream angeboten. Für diesen Raum wird dann keim Slides-Tab angeboten.
*
* In diesem Fall wird, sofern jeweils aktiviert, Audio und zuletzt Musik als
* Default-Stream angenommen.
*/
'SLIDES' => false,
/**
* Audio-Only-Stream verfügbar
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein Audio-Only-
* Stream angeboten. Für diesen Raum wird dann keim Audio-Tab angeboten.
*
* In diesem Fall wird, sofern aktiviert, Musik als Default-Stream angenommen.
*/
'AUDIO' => true,
/**
* Musik-Stream verfügbar
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein Musik-Stream
* angeboten. Für diesen Raum wird dann keim Musik-Tab angeboten.
*
* Ist kein einziger Stream angebote, wird statt der Stream-Seite ein 404-Fehler
* angezeigt.
*/
'MUSIC' => false,
/**
* Fahrplan-Ansicht auf der Raum-Seite aktivieren (boolean)
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
* wird der Raum nicht im Fahrplan gesucht und auch auf der Startseite
* findet keine Darstellung statt.
*
* Ebenso können alle Fahrplan-Funktionialitäten durch auskommentieren
* des $CONFIG['SCHEDULE']-Blocks in der Konferenz Config deaktiviert werden
*/
'SCHEDULE' => true,
/**
* Feedback anzeigen (boolean)
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
* taucht der Raum auch im globalen Feedback-Formular nicht auf.
*
* Ebenso können alle Feedback-Funktionialitäten durch auskommentieren
* des $CONFIG['FEEDBACK']-Blocks deaktiviert werden
*/
'FEEDBACK' => true,
/**
* Subtitles-Player aktivieren (boolean)
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
* wird der Subtitles-Button und die damit verbundenen Funktionen deaktiviert.
*
* Ebenso können alle Subtitles-Funktionialitäten durch auskommentieren
* des $CONFIG['SUBTITLES']-Blocks deaktiviert werden
*/
'SUBTITLES' => false,
/**
* Embed-Form aktivieren (boolean)
*
* Ist dieses Feld auf true gesetzt, wird ein Embed-Tab unter dem Video
* angezeigt. Darüber kann der Player als iframe eingebunden werden.
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
* wird kein Embed-Tab angeboten und die URL zum Einbetten existiert nicht.
*
* Ebenso können alle Embedding-Funktionialitäten durch auskommentieren
* des $CONFIG['EMBED']-Blocks in der Konferenz Config deaktiviert werden
*/
'EMBED' => true,
/**
* IRC-Link aktivieren (boolean)
*
* Solange Twitter oder IRC aktiviert ist, wird ein "Chat"-Tab mit den
* jeweiligen Links angezeigt.
*
* Ist dieses Feld auf true gesetzt, wird ein irc://-Link angezeigt.
* WebIrc wird nach dem Congress nicht mehr unterstützt ;)
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
* wird kein IRC-Link angezeigt
*
* Ebenso können alle IRC-Links durch auskommentieren
* des $CONFIG['IRC']-Blocks in der Konferenz Config deaktiviert werden
*/
'IRC' => true,
/**
* Twitter-Link aktivieren (boolean)
*
* Ist dieses Feld auf true gesetzt, wird ein Link zu Twitter angezeigt.
*
* Solange Twitter oder IRC aktiviert ist, wird ein "Chat"-Tab mit den
* jeweiligen Links angezeigt.
*
* Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
* wird kein Twitter-Link angezeigt
*
* Ebenso können alle Twitter-Links durch auskommentieren
* des $CONFIG['TWITTER']-Blocks deaktiviert werden
**/
'TWITTER' => true,
);