diff options
| author | 2013-08-07 11:46:55 +0200 | |
|---|---|---|
| committer | 2013-08-07 11:46:55 +0200 | |
| commit | abb25a58dc8668c6716c419c99b215536861057a (patch) | |
| tree | 37be666df9383f447e84cfc29fa840e60678bebb /app/models/RSSThemes.php | |
| parent | f6d730f9d1ce7957001bd981f04b32d67ebb44e6 (diff) | |
Fix issue #86 : possibilité de changer de thème
Désormais il est possible de créer des thèmes. Le thème peut être changé
sur la page de configuration. Les thèmes sont détectés grâce à un
fichier metadata.json détaillant le nom du thème, son auteur, une petite
description et une version.
Un nouveau thème "Flat design" a été ajouté et est pleinement
fonctionnel
Diffstat (limited to 'app/models/RSSThemes.php')
| -rw-r--r-- | app/models/RSSThemes.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/app/models/RSSThemes.php b/app/models/RSSThemes.php new file mode 100644 index 000000000..291b295e3 --- /dev/null +++ b/app/models/RSSThemes.php @@ -0,0 +1,38 @@ +<?php + +class RSSThemes extends Model { + private static $themes_dir = '/themes'; + + private static $list = array(); + + public static function init() { + $basedir = PUBLIC_PATH . self::$themes_dir; + + $themes_list = array_diff( + scandir($basedir), + array('..', '.') + ); + + foreach ($themes_list as $theme_dir) { + $json_filename = $basedir . '/' . $theme_dir . '/metadata.json'; + if(file_exists($json_filename)) { + $content = file_get_contents($json_filename); + $res = json_decode($content, true); + + if($res && + isset($res['name']) && + isset($res['author']) && + isset($res['description']) && + isset($res['version'])) { + $theme = $res; + $theme['path'] = $theme_dir; + self::$list[] = $theme; + } + } + } + } + + public static function get() { + return self::$list; + } +}
\ No newline at end of file |
