aboutsummaryrefslogtreecommitdiff
path: root/app/models/RSSThemes.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-08-07 11:46:55 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-08-07 11:46:55 +0200
commitabb25a58dc8668c6716c419c99b215536861057a (patch)
tree37be666df9383f447e84cfc29fa840e60678bebb /app/models/RSSThemes.php
parentf6d730f9d1ce7957001bd981f04b32d67ebb44e6 (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.php38
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