From cbc1055ec5bbce5bdba80bf925489fd95b0b64cd Mon Sep 17 00:00:00 2001
From: dedeibel
Date: Thu, 14 Dec 2017 00:03:40 +0100
Subject: Initial configuration for 34c3, some values to be checked, styling
still to be done
---
configs/conferences/34c3/assets/Makefile | 10 +
configs/conferences/34c3/assets/dot.png | Bin 0 -> 137 bytes
configs/conferences/34c3/assets/drops.svg | 1 +
configs/conferences/34c3/assets/f-beta.svg | 85 +++
configs/conferences/34c3/assets/logo.svg | 1 +
configs/conferences/34c3/assets/min/drops.svg | 1 +
configs/conferences/34c3/assets/min/f-beta.svg | 1 +
configs/conferences/34c3/assets/min/logo.svg | 1 +
configs/conferences/34c3/config.php | 694 +++++++++++++++++++++++++
configs/conferences/34c3/main.less | 364 +++++++++++++
10 files changed, 1158 insertions(+)
create mode 100644 configs/conferences/34c3/assets/Makefile
create mode 100644 configs/conferences/34c3/assets/dot.png
create mode 100644 configs/conferences/34c3/assets/drops.svg
create mode 100644 configs/conferences/34c3/assets/f-beta.svg
create mode 100644 configs/conferences/34c3/assets/logo.svg
create mode 100644 configs/conferences/34c3/assets/min/drops.svg
create mode 100644 configs/conferences/34c3/assets/min/f-beta.svg
create mode 100644 configs/conferences/34c3/assets/min/logo.svg
create mode 100644 configs/conferences/34c3/config.php
create mode 100644 configs/conferences/34c3/main.less
(limited to 'configs')
diff --git a/configs/conferences/34c3/assets/Makefile b/configs/conferences/34c3/assets/Makefile
new file mode 100644
index 0000000..fff4358
--- /dev/null
+++ b/configs/conferences/34c3/assets/Makefile
@@ -0,0 +1,10 @@
+SVGFILES := $(wildcard *.svg)
+MINSVGS := $(SVGFILES:%.svg=min/%.svg)
+
+all: $(MINSVGS)
+
+min/%.svg : %.svg
+ svgo -i $*.svg -o min/$*.svg
+
+clean:
+ rm $(MINSVGS)
diff --git a/configs/conferences/34c3/assets/dot.png b/configs/conferences/34c3/assets/dot.png
new file mode 100644
index 0000000..cc3863a
Binary files /dev/null and b/configs/conferences/34c3/assets/dot.png differ
diff --git a/configs/conferences/34c3/assets/drops.svg b/configs/conferences/34c3/assets/drops.svg
new file mode 100644
index 0000000..71a89df
--- /dev/null
+++ b/configs/conferences/34c3/assets/drops.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/configs/conferences/34c3/assets/f-beta.svg b/configs/conferences/34c3/assets/f-beta.svg
new file mode 100644
index 0000000..ea55e5d
--- /dev/null
+++ b/configs/conferences/34c3/assets/f-beta.svg
@@ -0,0 +1,85 @@
+
+
diff --git a/configs/conferences/34c3/assets/logo.svg b/configs/conferences/34c3/assets/logo.svg
new file mode 100644
index 0000000..0468799
--- /dev/null
+++ b/configs/conferences/34c3/assets/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/configs/conferences/34c3/assets/min/drops.svg b/configs/conferences/34c3/assets/min/drops.svg
new file mode 100644
index 0000000..71a89df
--- /dev/null
+++ b/configs/conferences/34c3/assets/min/drops.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/configs/conferences/34c3/assets/min/f-beta.svg b/configs/conferences/34c3/assets/min/f-beta.svg
new file mode 100644
index 0000000..c54c7ed
--- /dev/null
+++ b/configs/conferences/34c3/assets/min/f-beta.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/configs/conferences/34c3/assets/min/logo.svg b/configs/conferences/34c3/assets/min/logo.svg
new file mode 100644
index 0000000..643266f
--- /dev/null
+++ b/configs/conferences/34c3/assets/min/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/configs/conferences/34c3/config.php b/configs/conferences/34c3/config.php
new file mode 100644
index 0000000..e898640
--- /dev/null
+++ b/configs/conferences/34c3/config.php
@@ -0,0 +1,694 @@
+ strtotime("2017-12-27 08:00"), # TODO check
+
+ /**
+ * Der Endzeitpunkt der Konferenz als Unix-Timestamp. Befinden wir uns danach, wird eine Danke-Und-Kommen-Sie-
+ * Gut-Nach-Hause-Seite sowie einem Ausblick auf die kommenden Events angezeigt.
+ *
+ * Wird dieser Zeitpunkt nicht angegeben, endet die Konferenz nie. (Siehe aber CLOSED weiter unten)
+ */
+ 'ENDS_AT' => strtotime("2017-12-30 23:00"), # TODO check
+
+ /**
+ * Hiermit kann die Funktionalitaet von STARTS_AT/ENDS_AT überschrieben werden. Der Wert 'before'
+ * simuliert, dass die Konferenz noch nicht begonnen hat. Der Wert 'after' simuliert, dass die Konferenz
+ * bereits beendet ist. 'running' simuliert eine laufende Konferenz.
+ *
+ * Der Boolean true ist aus Abwärtskompatibilitätsgründen äquivalent zu 'after'. False ist äquivalent
+ * zu 'running'.
+ */
+ #'CLOSED' => true,
+
+ /**
+ * Titel der Konferenz (kann Leer- und Sonderzeichen enthalten)
+ * Dieser im Seiten-Header, im
-Tag, in der About-Seite und ggf. ab weiteren Stellen als
+ * Anzeigetext benutzt
+ */
+ 'TITLE' => '34C3',
+
+ /**
+ * Veranstalter
+ * Wird für den -Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher
+ * -Tag generiert.
+ */
+ 'AUTHOR' => 'CCC',
+
+ /**
+ * Beschreibungstext
+ * Wird für den -Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher
+ * -Tag generiert.
+ */
+ 'DESCRIPTION' => 'Live-Streaming vom 34C3',
+
+ /**
+ * Schlüsselwortliste, Kommasepariert
+ * Wird für den -Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher
+ * -Tag generiert.
+ */
+ 'KEYWORDS' => '34C3, Hacking, Chaos Computer Club, Video, Music, Podcast, Media, Streaming, Hacker, Leipzig, Tuwat, Phasenprüfer, Phrasenprüfer, Chaos, Everywhere',
+
+ /**
+ * HTML-Code für den Footer (z.B. für spezielle Attribuierung mit -Tags)
+ * Sollte üblicherweise nur Inline-Elemente enthalten
+ * Wird diese Zeile auskommentiert, wird die Standard-Attribuierung für (c3voc.de) verwendet
+ */
+ 'FOOTER_HTML' => '
+ by Chaos Computer Club e.V,
+ iSystems,
+ FeM,
+ ags &
+ C3VOC
+ ',
+
+ /**
+ * HTML-Code für den Banner (nur auf der Startseite, direkt unter dem Header)
+ * wird üblicherweise für KeyVisuals oder Textmarke verwendet (vgl. Blaues
+ * Wischiwaschi auf http://media.ccc.de/)
+ *
+ * Dieser HTML-Block wird üblicherweise in der main.less speziell für die
+ * Konferenz umgestaltet.
+ *
+ * Wird diese Zeile auskommentiert, wird kein Banner ausgegeben.
+ */
+ 'BANNER_HTML' => '
+
34C3 – works for me
+
+ ',
+
+ /**
+ * Link zu den Recordings
+ * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+ */
+ 'RELEASES' => 'https://media.ccc.de/c/34c3',
+
+ /**
+ * Um die interne ReLive-Ansicht zu aktivieren, kann hier ein ReLive-JSON
+ * konfiguriert werden. Üblicherweise wird diese Datei über das Script
+ * configs/download.sh heruntergeladen, welches von einem Cronjob
+ * regelmäßig getriggert wird.
+ *
+ * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+ */
+ 'RELIVE_JSON' => 'https://live.dus.c3voc.de/relive/34c3/index.json', # TODO check
+);
+
+/**
+ * Konfiguration der Stream-Übersicht auf der Startseite
+ */
+$CONFIG['OVERVIEW'] = array(
+ /**
+ * Abschnitte aud der Startseite und darunter aufgeführte Räume
+ * Es können beliebig neue Gruppen und Räume hinzugefügt werden
+ *
+ * Die Räume müssen in $CONFIG['ROOMS'] konfiguriert werden,
+ * sonst werden sie nicht angezeigt.
+ */
+ 'GROUPS' => array(
+ 'Live' => array(
+ 'hallA',
+ 'hallB',
+ 'hallC',
+ 'hallD',
+ ),
+
+ 'Live Music' => array(
+ 'fresswuerfel',
+ 'electric_cube',
+ 'shell_beach',
+ 'bar',
+ ),
+ ),
+);
+
+
+
+/**
+ * Liste der Räume (= Audio & Video Produktionen, also auch DJ-Sets oä.)
+ */
+$CONFIG['ROOMS'] = array(
+ /**
+ * Array-Key ist der Raum-Slug, der z.B. auch zum erstellen der URLs,
+ * in $CONFIG['OVERVIEW'] oder im Feedback verwendet wird.
+ *
+ * Der Raum-Slug darf ausschliesslich aus "unkritischen" Zeichen
+ * ([a-zA-Z0-9_\-]) bestehen und insbesondere keine Leerzeichen
+ * enthalten.
+ */
+ 'hallA' => array(
+ /**
+ * Angezeige-Name
+ */
+ 'DISPLAY' => 'Saal Adams',
+
+ /**
+ * ID des Video/Audio-Streams. Die Stream-ID ist davon abhängig, welches
+ * Event-Case in welchem Raum aufgebaut wird und wird üblicherweise von
+ * s1 bis s5 durchnummeriert.
+ */
+ 'STREAM' => 's1',
+
+ /**
+ * 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-Tonspur statt native-Tonspur benutzen
+ *
+ * Wenn diese Zeile auskommentiert oder auf false gesetzt ist werden
+ * die "native"-Mono-Streams verwendet, andernfalls wird statt "native"
+ * der Streamname "stereo" eingesetzt. Im normalen Konferenz-Setup
+ * müssen dann beide Kanäle der Kamera mit einem Signal bespielt werden.
+ */
+ '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,
+
+ /**
+ * 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' => true,
+
+ /**
+ * 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 globalen $CONFIG['SCHEDULE']-Blocks deaktiviert werden
+ */
+ 'SCHEDULE' => true,
+
+ /**
+ * Name des Raums im Fahrplan
+ * Wenn diese Zeile auskommentiert ist wird der Raum-Display-Name verwendet
+ */
+ //'SCHEDULE_NAME' => 'Saal 1',
+
+ /**
+ * 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 globalen $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 globalen $CONFIG['SUBTITLES']-Blocks deaktiviert werden
+ */
+ 'SUBTITLES' => false, # TODO check
+
+ /**
+ * ID des Raumes im L2S2-System (int)
+ *
+ * Wenn diese Zeile auskommentiert oder auf false gesetzt ist,
+ * für diesen Raum das Subtitles-System deaktiviert.
+ */
+ 'SUBTITLES_ROOM_ID' => 1,
+
+ /**
+ * 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 globalen $CONFIG['EMBED']-Blocks 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 globalen $CONFIG['IRC']-Blocks deaktiviert werden
+ */
+ 'IRC' => true,
+
+ /**
+ * Mit dem Angaben in diesem Block können die Vorgaben aus dem
+ * globalen $CONFIG['IRC'] Block überschrieben werden.
+ *
+ * Der globale $CONFIG['IRC']-Block muss trotzdem existieren,
+ * da sonst überhaupt kein IRC-Link erzeugt wird. (ggf. einfach `= true` setzen)
+ */
+ 'IRC_CONFIG' => array(
+ 'DISPLAY' => '#34C3-hall-a @ hackint', # TODO check
+ 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-a',
+ ),
+
+ /**
+ * 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 globalen $CONFIG['TWITTER']-Blocks deaktiviert werden
+ **/
+ 'TWITTER' => true,
+
+ /**
+ * Mit dem Angaben in diesem Block können die Vorgaben aus dem
+ * globalen $CONFIG['TWITTER'] Block überschrieben werden.
+ *
+ * Der globale $CONFIG['TWITTER']-Block muss trotzdem existieren,
+ * da sonst überhaupt kein IRC-Link erzeugt wird. (ggf. einfach `= true` setzen)
+ */
+ 'TWITTER_CONFIG' => array(
+ 'DISPLAY' => '#hallA @ twitter',
+ 'TEXT' => '#34C3 #hallA',
+ ),
+ ),
+
+ 'hallB' => array(
+ 'DISPLAY' => 'Saal Borg',
+ 'STREAM' => 's2',
+ 'PREVIEW' => true,
+
+ 'TRANSLATION' => [
+ ['endpoint' => 'translated', 'label' => 'Translated1'],
+ ['endpoint' => 'translated-2', 'label' => 'Translated2']
+ ],
+ 'SD_VIDEO' => true,
+ 'HD_VIDEO' => true,
+ 'DASH' => true,
+ 'AUDIO' => true,
+ 'SLIDES' => true,
+ 'MUSIC' => false,
+
+ 'SCHEDULE' => true,
+ //'SCHEDULE_NAME' => 'Saal Borg', # TODO check
+ 'FEEDBACK' => true,
+ 'SUBTITLES' => false, # TODO check
+ 'SUBTITLES_ROOM_ID' => 2,
+ 'EMBED' => true,
+ 'IRC' => true,
+ 'IRC_CONFIG' => array(
+ 'DISPLAY' => '#34C3-hall-B @ hackint', # TODO check
+ 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-B',
+ ),
+ 'TWITTER' => true,
+ 'TWITTER_CONFIG' => array(
+ 'DISPLAY' => '#hallB @ twitter',
+ 'TEXT' => '#34C3 #hallB',
+ ),
+ ),
+
+ 'hallC' => array(
+ 'DISPLAY' => 'Saal Clarke',
+ 'STREAM' => 's3',
+ 'PREVIEW' => true,
+
+ 'TRANSLATION' => [
+ ['endpoint' => 'translated', 'label' => 'Translated1'],
+ ['endpoint' => 'translated-2', 'label' => 'Translated2']
+ ],
+ 'SD_VIDEO' => true,
+ 'HD_VIDEO' => true,
+ 'DASH' => true,
+ 'AUDIO' => true,
+ 'SLIDES' => true,
+ 'MUSIC' => false,
+
+ 'SCHEDULE' => true,
+ //'SCHEDULE_NAME' => 'Saal Clarke', # TODO check
+ 'FEEDBACK' => true,
+ 'SUBTITLES' => false, # TODO check
+ 'SUBTITLES_ROOM_ID' => 2,
+ 'EMBED' => true,
+ 'IRC' => true,
+ 'IRC_CONFIG' => array(
+ 'DISPLAY' => '#34C3-hall-C @ hackint', # TODO check
+ 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-C',
+ ),
+ 'TWITTER' => true,
+ 'TWITTER_CONFIG' => array(
+ 'DISPLAY' => '#hallC @ twitter',
+ 'TEXT' => '#34C3 #hallC',
+ ),
+ ),
+
+ 'hallC' => array(
+ 'DISPLAY' => 'Saal Dijkstra',
+ 'STREAM' => 's4',
+ 'PREVIEW' => true,
+
+ 'TRANSLATION' => [
+ ['endpoint' => 'translated', 'label' => 'Translated'],
+ ],
+ 'SD_VIDEO' => true,
+ 'HD_VIDEO' => true,
+ 'DASH' => true,
+ 'AUDIO' => true,
+ 'SLIDES' => true,
+ 'MUSIC' => false,
+
+ 'SCHEDULE' => true,
+ //'SCHEDULE_NAME' => 'Saal Dijkstra', # TODO check
+ 'FEEDBACK' => true,
+ 'SUBTITLES' => false, # TODO check
+ 'SUBTITLES_ROOM_ID' => 2,
+ 'EMBED' => true,
+ 'IRC' => true,
+ 'IRC_CONFIG' => array(
+ 'DISPLAY' => '#34C3-hall-D @ hackint', # TODO check
+ 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-D',
+ ),
+ 'TWITTER' => true,
+ 'TWITTER_CONFIG' => array(
+ 'DISPLAY' => '#hallD @ twitter',
+ 'TEXT' => '#34C3 #hallD',
+ ),
+ ),
+
+
+
+# TODO check namen
+ 'fresswuerfel' => array(
+ 'DISPLAY' => 'Unwetterbar Fresswürfell (Halle 1 / 3)',
+ 'STREAM' => 'a1',
+ 'MUSIC' => true,
+ 'EMBED' => false,
+ ),
+ 'electric_cube' => array(
+ 'DISPLAY' => 'Electric Cube (Halle 2 / CCL)',
+ 'STREAM' => 'a2',
+ 'MUSIC' => true,
+ 'EMBED' => false,
+ ),
+ 'shell_beach' => array(
+ 'DISPLAY' => 'Shell Beach (CCL unten)',
+ 'STREAM' => 'a3',
+ 'MUSIC' => true,
+ 'EMBED' => false,
+ ),
+ 'bar' => array(
+ 'DISPLAY' => 'Bar (Halle 2)',
+ 'STREAM' => 'a4',
+ 'MUSIC' => true,
+ 'EMBED' => false,
+ ),
+
+
+);
+
+
+
+/**
+ * Konfigurationen zum Konferenz-Fahrplan
+ * Wird dieser Block auskommentiert, werden alle Fahrplan-Bezogenen Features deaktiviert
+ */
+$CONFIG['SCHEDULE'] = array(
+ /**
+ * URL zum Fahrplan-XML
+ *
+ * Diese URL muss immer verfügbar sein, sonst könnte die Programm-Ansicht
+ * aufhören zu funktionieren. Üblicherweise wird diese daher Datei über
+ * das Script configs/download.sh heruntergeladen, welches von einem
+ * Cronjob regelmäßig getriggert wird.
+ */
+ 'URL' => 'http://data.c3voc.de/34C3/everything.schedule.xml', # TODO check
+
+ /**
+ * Nur die angegebenen Räume aus dem Fahrplan beachten
+ *
+ * Wird diese Zeile auskommentiert, werden alle Räume angezeigt
+ */
+# TODO check, Namen ermitteln
+# 'ROOMFILTER' => array('Saal A', 'Saal B', 'Saal C', 'Saal D'),
+
+ /**
+ * Skalierung der Programm-Vorschau in Sekunden pro Pixel
+ */
+ 'SCALE' => 7,
+
+ /**
+ * Simuliere das Verhalten als wäre die Konferenz bereits heute
+ *
+ * Diese folgende Beispiel-Zeile Simuliert, dass das
+ * Konferenz-Datum 2016-12-29 auf den heutigen Tag 2016-02-24 verschoben ist.
+ */
+ //'SIMULATE_OFFSET' => strtotime(/* Conference-Date */ '2016-12-27') - strtotime(/* Today */ date('Y-m-d')),
+ //'SIMULATE_OFFSET' => 0,
+);
+
+
+
+/**
+ * Konfiguration des Feedback-Formulars
+ *
+ * Wird dieser Block auskommentiert, wird das gesamte Feedback-System deaktiviert
+ */
+$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')),
+);
+
+/**
+ * Globaler Schalter für die Embedding-Funktionalitäten
+ *
+ * Wird diese Zeile auskommentiert oder auf False gesetzt, werden alle
+ * Embedding-Funktionen deaktiviert.
+ */
+$CONFIG['EMBED'] = true;
+
+/**
+ * Konfiguration des L2S2-Systems
+ * https://github.com/c3subtitles/L2S2
+ *
+ * Wird dieser Block auskommentiert, wird das gesamte Subtitle-System deaktiviert
+ */
+
+// TODO CHECK
+// $CONFIG['SUBTITLES'] = array(
+// /**
+// * URL des L2S2 Primus-Servers
+// */
+// 'PRIMUS_URL' => 'https://live.c3subtitles.de/',
+//
+// /**
+// * URL des L2S2 Frontend-Servers
+// */
+// 'FRONTEND_URL' => 'https://live.c3subtitles.de/',
+// );
+
+/**
+ * Globale Konfiguration der IRC-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine IRC-Links mehr erzeugt. Sollen die
+ * IRC-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ * $CONFIG['IRC'] = true
+ */
+$CONFIG['IRC'] = array(
+ /**
+ * Anzeigetext für die IRC-Links.
+ *
+ * %s wird durch den Raum-Slug ersetzt.
+ * Ist eine weitere Anpassung erfoderlich, kann ein IRC_CONFIG-Block in der
+ * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
+ */
+ 'DISPLAY' => '#34C3-%s @ hackint',
+
+ /**
+ * URL für die IRC-Links.
+ * Hierbei kann sowohl ein irc://-Link als auch ein Link zu einem
+ * WebIrc-Provider wie z.B. 'https://kiwiirc.com/client/irc.hackint.eu/#33C3-%s'
+ * verwendet werden.
+ *
+ * %s wird durch den urlencodeten Raum-Slug ersetzt.
+ * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
+ */
+ 'URL' => 'irc://irc.hackint.eu:6667/34C3-%s',
+);
+
+/**
+ * Globale Konfiguration der Twitter-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine Twitter-Links mehr erzeugt. Sollen die
+ * Twitter-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ * $CONFIG['TWITTER'] = true
+ */
+$CONFIG['TWITTER'] = array(
+ /**
+ * Anzeigetext für die Twitter-Links.
+ *
+ * %s wird durch den Raum-Slug ersetzt.
+ * Ist eine weitere Anpassung erfoderlich, kann ein TWITTER_CONFIG-Block in der
+ * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
+ */
+ 'DISPLAY' => '#%s @ twitter',
+
+ /**
+ * Vorgabe-Tweet-Text für die Twitter-Links.
+ *
+ * %s wird durch den Raum-Slug ersetzt.
+ * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
+ */
+ 'TEXT' => '#34C3 #%s',
+);
+
+/**
+ * Liste zusätzlich herunterzuladender Dateien
+ *
+ * Dict mit dem Dateinamen im Key und einer URL im Value. Die Dateien werden
+ * unter dem angegebenen Dateinamen in diesem Konfigurationsordner abgelegt.
+ */
+# TODO CHECK
+$CONFIG['EXTRA_FILES'] = array(
+ 'schedule.xml' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.xml',
+ 'schedule.json' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.json',
+ 'schedule.ics' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.ics',
+ 'schedule.xcal' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.xcal',
+
+ 'everything.schedule.xml' => 'http://data.c3voc.de/34C3/everything.schedule.xml',
+ 'everything.schedule.json' => 'http://data.c3voc.de/34C3/everything.schedule.json',
+
+ 'workshops.schedule.xml' => 'http://data.c3voc.de/34C3/workshops.schedule.xml',
+ 'workshops.schedule.json' => 'http://data.c3voc.de/34C3/workshops.schedule.json',
+);
+
+return $CONFIG;
diff --git a/configs/conferences/34c3/main.less b/configs/conferences/34c3/main.less
new file mode 100644
index 0000000..13634aa
--- /dev/null
+++ b/configs/conferences/34c3/main.less
@@ -0,0 +1,364 @@
+@import "../../../assets/css/_structure.less";
+
+
+// conference specific styles here
+@tuwatred: #a41c31;
+@darker-grey: #262626;
+@dark-grey: lighten(@darker-grey, 20%);
+@light-grey: lighten(@darker-grey, 30%);
+@lighter-grey: lighten(@darker-grey, 40%);
+
+@red-dot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQMAAABIeJ9nAAAAA1BMVEWkHDHOopUBAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+EMDRYjEJ3j75wAAAAMSURBVAjXY2BgYAAAAAQAASc0JwoAAAAASUVORK5CYII=";
+
+// often configured values (and their defaults):
+//
+@brand-primary: @tuwatred;
+@text-color: white;
+
+@link-color: white;
+@link-hover-color: @lighter-grey;
+
+@navbar-height: 70px;
+
+@navbar-default-bg: transparent;
+@navbar-default-border: transparent;
+
+@navbar-default-link-color: white;
+//@navbar-default-link-hover-color: @link-hover-color;
+
+body {
+ background-color: black;
+ padding: @navbar-height 0
+}
+
+h1, h2, body.overview .room a.title, body.overview .panel-primary a, .navbar-brand {
+ font-family: sans-serif;
+}
+
+.relive {
+ color: black;
+}
+
+.group-live {
+ margin-top: 60px;
+}
+
+.overview {
+ h2 {
+ text-align: center;
+ background-image: url(@red-dot);
+ background-repeat: repeat-x;
+ background-position: 0 50%;
+
+ text-transform: uppercase;
+ font-weight: bold;
+
+ margin: 40px 0 20px 0;
+
+ span {
+ background-color: black;
+ padding: 0 15px;
+ }
+ }
+
+ .room {
+ a, a:hover {
+ text-decoration: none;
+ color: white;
+ }
+
+ .panel {
+ background: none;
+ border: none;
+
+ &:hover {
+ text-decoration: none;
+
+ .panel-body {
+ border-top: 1px solid white;
+ border-bottom: 1px solid white;
+ }
+
+ .panel-body .program-schedule .next-talk {
+ border-bottom: 1px solid white;
+ }
+ }
+
+ .panel-title {
+ color: white;
+ font-size: 18px;
+ }
+
+ .panel-primary {
+ background-color: @light-grey;
+ border-color: @light-grey;
+ color: white;
+ a {
+ color: white;
+ }
+ }
+
+ .panel-heading {
+ background: none;
+ border: none;
+
+ display: block !important;
+
+ text-transform: uppercase;
+ font-weight: bold;
+
+ padding: 8px 15px;
+
+ a {
+ color: white;
+ }
+ }
+
+ .panel-body {
+ padding: 0;
+ border-top: 1px solid @darker-grey;
+ border-bottom: 1px solid @darker-grey;
+
+ position: relative;
+ margin-bottom: 100px;
+
+ .program-schedule {
+ padding: 15px 10px;
+ overflow: hidden;
+ font-size: 18px;
+
+ .current-talk strong {
+ display: none;
+ }
+ .next-talk {
+ display: block;
+ position: absolute;
+
+ overflow: hidden;
+
+ bottom: -44px;
+ left: 0;
+ right: 0;
+ height: 44px;
+ margin: 0;
+
+ line-height: 44px;
+ padding-left: 16px;
+
+ border-bottom: 1px solid @darker-grey;
+
+ font-size: 15px;
+ }
+ }
+ }
+ }
+ }
+
+ .room-group-live-music .panel-body {
+ border-bottom-width: 0 !important;
+ }
+
+ .recordings {
+ .panel {
+ background: none;
+ border: 1px solid @dark-grey;
+ border-radius: 0;
+
+ &:hover {
+ border-color: white;
+ }
+
+ a {
+ color: white;
+ }
+ }
+ }
+}
+
+.overview .room-group-live-music .room .panel .panel-body {
+ margin-bottom: 0;
+}
+
+.navbar-header {
+ background-color: #000;
+}
+
+.navbar-brand {
+ font-size: 20px;
+}
+
+.well {
+ color: @dark-grey;
+}
+
+.banner {
+ background: url("assets/min/drops.svg") no-repeat center;
+ height: 320px;
+ text-indent: -9999em;
+ display: block;
+ position: relative;
+
+ h1 { display: none; }
+
+ video, img {
+ @width: 810px;
+ @height: 388px;
+
+ display: block;
+ width: @width/2;
+ height: @height/2;
+ margin: 0;
+
+ left: 50%;
+ margin-left: -@width/2/2;
+ position: absolute;
+ bottom: -25px;
+
+ @media (max-width: @screen-xs-max) {
+ width: @width/3;
+ height: @height/3;
+ margin: 0;
+
+ margin-left: -@width/3/2;
+ }
+ }
+}
+
+@media (max-width: 480px) {
+ .banner {
+ margin-top: 60px;
+ }
+}
+
+.player-wrap {
+ background-color: @darker-grey;
+}
+
+.nav-tabs > li > a {
+ border-color: @dark-grey;
+}
+
+nav .navbar-form {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding: 0;
+
+ @media (max-width: @screen-xs-max) {
+ padding: 0 40px;
+ }
+}
+
+.well a {
+ color: @dark-grey;
+ text-decoration: underline;
+}
+.alert {
+ a {
+ text-decoration: underline;
+ }
+ &.alert-success a {
+ color: @state-success-text;
+ }
+ &.alert-info a {
+ color: @state-info-text;
+ }
+ &.alert-warning a {
+ color: @state-warning-text;
+ }
+ &.alert-danger a {
+ color: @state-danger-text;
+ }
+}
+
+body.multiview .cell {
+ color: black;
+}
+
+.closed .about a {
+ text-decoration: underline;
+ color: @brand-primary;
+}
+
+.schedule .block.pause {
+ color: black !important;
+}
+
+.navbar-brand {
+ width: 290px;
+ height: 75px
+}
+
+.functions-wrap {
+ .beta {
+ margin-bottom: 30px;
+ height: 50px;
+ }
+
+ .notes {
+ font-size: 16px;
+ text-align: center;
+ }
+}
+
+.navbar-default .navbar-form.button-wrapper {
+ border-bottom: 1px solid @dark-grey;
+ background-color: #000;
+}
+
+nav .button-wrapper > .btn {
+ height: 60px;
+ margin-top: 15px;
+ margin-bottom: -1px;
+
+ background-color: transparent;
+ border: none;
+ border-bottom: 1px solid transparent;
+ border-radius: 0;
+
+ &:hover {
+ border-bottom: 1px solid @tuwatred;
+ }
+
+ &.btn-ssl {
+ &.btn-warning {
+ }
+ width: 90px;
+ }
+
+ display: block;
+ float: left;
+}
+
+footer {
+ position: static;
+ color: @dark-grey;
+
+ margin-top: 64px;
+
+
+ a {
+ color: @lighter-grey;
+
+ &:hover {
+ color: @lighter-grey;
+ text-decoration: underline;
+ }
+ }
+}
+
+.nav-tabs > li > a {
+ border-radius: 0 !important;
+}
+
+body.room .tab-content {
+ border-left: 1px solid @light-grey;
+ border-bottom: 1px solid @light-grey;
+ border-right: 1px solid @light-grey;
+}
+
+@media (max-width: 768px)
+{
+ nav {
+ position: static !important;
+ }
+}
--
cgit v1.2.3