autodétection des nouveaux thèmes dans le dossier themes
This commit is contained in:
@@ -671,10 +671,28 @@ $m3u_url = htmlspecialchars($config["m3u_url"] ?? "");
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<select class="theme-select" id="themeSelect" onchange="setTheme(this.value)" title="Thème">
|
||||
<option value="default">⬛ Default</option>
|
||||
<option value="magazine">📰 Magazine</option>
|
||||
<option value="cyberpunk">🌆 Cyberpunk</option>
|
||||
<option value="steampunk">⚙️ Steampunk</option>
|
||||
<?php
|
||||
$theme_dir = __DIR__ . '/themes';
|
||||
$theme_files = glob($theme_dir . '/*.css');
|
||||
// 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>
|
||||
<div class="live-dot">LIVE</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user