autodétection des nouveaux thèmes dans le dossier themes

This commit is contained in:
Johnnybegood90
2026-03-10 09:55:28 +01:00
parent 99d01be1b3
commit 71dc57aaf7
+22 -4
View File
@@ -671,10 +671,28 @@ $m3u_url = htmlspecialchars($config["m3u_url"] ?? "");
<?php endif; ?> <?php endif; ?>
</div> </div>
<select class="theme-select" id="themeSelect" onchange="setTheme(this.value)" title="Thème"> <select class="theme-select" id="themeSelect" onchange="setTheme(this.value)" title="Thème">
<option value="default">⬛ Default</option> <?php
<option value="magazine">📰 Magazine</option> $theme_dir = __DIR__ . '/themes';
<option value="cyberpunk">🌆 Cyberpunk</option> $theme_files = glob($theme_dir . '/*.css');
<option value="steampunk">⚙️ Steampunk</option> // default en premier, puis le reste par ordre alphabétique
usort($theme_files, function($a, $b) {
$a_base = basename($a, '.css');
$b_base = basename($b, '.css');
if ($a_base === 'default') return -1;
if ($b_base === 'default') return 1;
return strcmp($a_base, $b_base);
});
foreach ($theme_files as $file) {
$slug = basename($file, '.css');
$css = file_get_contents($file);
// Lire @name et @emoji dans le premier bloc commentaire
preg_match('/@name\s+(.+)/u', $css, $m_name);
preg_match('/@emoji\s+(\S+)/u', $css, $m_emoji);
$name = isset($m_name[1]) ? trim($m_name[1]) : ucfirst($slug);
$emoji = isset($m_emoji[1]) ? trim($m_emoji[1]) : '🎨';
echo " <option value="" . htmlspecialchars($slug) . "">{$emoji} {$name}</option>\n";
}
?>
</select> </select>
<div class="live-dot">LIVE</div> <div class="live-dot">LIVE</div>
</div> </div>