-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
114 lines (97 loc) · 4.75 KB
/
index.php
File metadata and controls
114 lines (97 loc) · 4.75 KB
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
<?php
include __DIR__ . '/lib/main.inc.php';
$id = $_GET['id'] ?? false;
$slug = $_GET['slug'] ?? false;
$ecran = getEcran($slug);
if ($ecran) {
$slides = $ecran['slides'];
} else {
$slide = getSlide($id);
if($slide) {
$slides = [$slide];
$ecran = [];
$ecran['name'] = $slide['name'];
} else {
http_response_code(404);
echo "Écran non trouvé";
exit;
}
}
$cssFile = 'assets/slides.css';
$cssPath = __DIR__ . '/' . $cssFile;
$cssUrl = BASE_URL . '/' . $cssFile . '?v=' . date('Y-m-d-H-i-s',filemtime($cssPath));
$jsFile = 'assets/slides.js';
$jsPath = __DIR__ . '/' . $jsFile;
$jsUrl = BASE_URL . '/' . $jsFile . '?v=' . date('Y-m-d-H-i-s',filemtime($jsPath));
$audiojsFile = 'assets/audio.js';
$audiojsPath = __DIR__ . '/' . $audiojsFile;
$audiojsUrl = BASE_URL . '/' . $audiojsFile . '?v=' . date('Y-m-d-H-i-s',filemtime($audiojsPath));
$websocketjsFile = 'assets/websocket.js';
$websocketjsPath = __DIR__ . '/' . $websocketjsFile;
$websocketjsUrl = BASE_URL . '/' . $websocketjsFile . '?v=' . date('Y-m-d-H-i-s',filemtime($websocketjsPath));
cacheHeaders();
//print_r($slide);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= htmlspecialchars($ecran['name']) ?></title>
<link rel="stylesheet" href="<?= $cssUrl ?>">
<script>
window.ECRAN_PLAYLIST = <?= json_encode(array_filter(array_map('trim', explode("\n", ($ecran['playlist_on']??false) ? $ecran['playlist'] : '')))) ?>;
window.ECRAN_VOLUME = <?= intval($ecran['playlist_volume'] ?? 50) ?>;
window.ECRAN_ID = "<?= $ecran['id'] ?? false ?>";
</script>
<script src="<?= $websocketjsUrl ?>" defer></script>
<script src="<?= $audiojsUrl ?>" defer></script>
<script src="<?= $jsUrl ?>" defer></script>
</head>
<body>
<audio id="player" controls></audio>
<div id="screen">
<?php foreach ($slides as $slide) {
if ($id && $slide['id'] != $id) continue; ?>
<div id="slide-<?= $slide['id'] ?>" class="slide" data-duration="<?= intval($slide['duration'] ?? 10) ?>" style="--_background-color: <?= htmlspecialchars($slide['meta']['backgroundColor'] ?? '') ?>;--_color: <?= htmlspecialchars($slide['meta']['color'] ?? '') ?>;--_background-fit: <?= htmlspecialchars($slide['meta']['fit'] ?? '') ?>;--_background-opacity: <?= htmlspecialchars($slide['meta']['opacity'] ?? '') ?>;">
<?php if ($slide['type'] === 'url') { ?>
<iframe src="<?= htmlspecialchars($slide['meta']['url']) ?>"></iframe>
<?php } elseif ($slide['type'] === 'image') { ?>
<div class="slide-body">
<?php if (!empty($slide['meta']['image'])) { ?>
<img src="<?= htmlspecialchars($slide['meta']['image']) ?>" class="slide-img">
<?php } ?>
</div>
<?php } elseif ($slide['type'] === 'default') { ?>
<div class="slide-body">
<?php if ($slide['meta']['url']) { ?>
<div class="qr">
<img src="https://tools.coworking-metz.fr/qr/?url=<?= urlencode($slide['meta']['url']) ?>">
</div>
<?php } ?>
<?php if (!empty($slide['meta']['image'])) { ?>
<img src="<?= htmlspecialchars($slide['meta']['image']) ?>" class="slide-img">
<?php } ?>
<div class="slide-content">
<div>
<?php if (!empty($slide['meta']['imagePrincipale'])) { ?>
<img class="imagePrincipale" src="<?= $slide['meta']['imagePrincipale'] ?>">
<?php } else if (!empty($slide['meta']['emojiPrincipal'])) { ?>
<h2><?= htmlspecialchars($slide['meta']['emojiPrincipal']) ?></h2>
<?php } else if (!empty($slide['meta']['titre'])) { ?>
<h3><?= htmlspecialchars($slide['meta']['titre']) ?></h3>
<?php } ?>
<?php if (!empty($slide['meta']['texte'])) { ?>
<div class="slide-text">
<?= $slide['meta']['texte'] ?>
</div>
<?php } ?>
</div>
</div>
</div>
<?php } ?>
</div>
<?php } ?>
</div>
</body>
</html>