aboutsummaryrefslogtreecommitdiff
path: root/app/models/RSSThemes.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-15 03:30:24 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-15 03:30:24 +0100
commit878e96202e8a22e4857b98e29b0a1fce68eccbc9 (patch)
treef9233c3b48a0cd6e0ac2536ddcc1897201595ad4 /app/models/RSSThemes.php
parent4af233e1f736eb2256e5e1696418635165467855 (diff)
Grosse refactorisation pour permettre le chargement automatique des classes
C'est parti de changements pour https://github.com/marienfressinaud/FreshRSS/issues/255 et finalement j'ai continué la refactorisation... Ajout de préfixes FreshRSS_ et Minz_ sur le modèle de SimplePie_. Toutes les classes sont maintenant en chargement automatique (devrait améliorer les performances en évitant de charger plein de classes inutilisées, et faciliter la maintenance). Suppression de set_include_path(). Si souhaité, certaines classes de Minz pourraient être déplacées dans un sous-répertoire, par exemple les exceptions. Tests et relecture nécessaires.
Diffstat (limited to 'app/models/RSSThemes.php')
-rw-r--r--app/models/RSSThemes.php88
1 files changed, 0 insertions, 88 deletions
diff --git a/app/models/RSSThemes.php b/app/models/RSSThemes.php
deleted file mode 100644
index a3e67f8b1..000000000
--- a/app/models/RSSThemes.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-class RSSThemes extends Model {
- private static $themesUrl = '/themes/';
- private static $defaultIconsUrl = '/themes/icons/';
-
- public static function get() {
- $themes_list = array_diff(
- scandir(PUBLIC_PATH . self::$themesUrl),
- array('..', '.')
- );
-
- $list = array();
- foreach ($themes_list as $theme_dir) {
- $theme = self::get_infos($theme_dir);
- if ($theme) {
- $list[$theme_dir] = $theme;
- }
- }
- return $list;
- }
-
- public static function get_infos($theme_id) {
- $theme_dir = PUBLIC_PATH . self::$themesUrl . $theme_id ;
- if (is_dir($theme_dir)) {
- $json_filename = $theme_dir . '/metadata.json';
- if (file_exists($json_filename)) {
- $content = file_get_contents($json_filename);
- $res = json_decode($content, true);
- if ($res && isset($res['files']) && is_array($res['files'])) {
- $res['path'] = $theme_id;
- return $res;
- }
- }
- }
- return false;
- }
-
- private static $themeIconsUrl;
- private static $themeIcons;
-
- public static function setThemeId($theme_id) {
- self::$themeIconsUrl = self::$themesUrl . $theme_id . '/icons/';
- self::$themeIcons = is_dir(PUBLIC_PATH . self::$themeIconsUrl) ? array_fill_keys(array_diff(
- scandir(PUBLIC_PATH . self::$themeIconsUrl),
- array('..', '.')
- ), 1) : array();
- }
-
- public static function icon($name, $urlOnly = false) {
- static $alts = array(
- 'add' => '✚',
- 'all' => '☰',
- 'bookmark' => '★',
- 'category' => '☷',
- 'category-white' => '☷',
- 'close' => '❌',
- 'configure' => '⚙',
- 'down' => '▽',
- 'favorite' => '★',
- 'help' => 'ⓘ',
- 'link' => '↗',
- 'login' => '🔒',
- 'logout' => '🔓',
- 'next' => '⏩',
- 'non-starred' => '☆',
- 'prev' => '⏪',
- 'read' => '☑',
- 'unread' => '☐',
- 'refresh' => '🔃', //↻
- 'search' => '🔍',
- 'share' => '♺',
- 'starred' => '★',
- 'tag' => '⚐',
- 'up' => '△',
- );
- if (!isset($alts[$name])) {
- return '';
- }
-
- $url = $name . '.svg';
- $url = isset(self::$themeIcons[$url]) ? (self::$themeIconsUrl . $url) :
- (self::$defaultIconsUrl . $url);
-
- return $urlOnly ? Url::display($url) :
- '<img class="icon" src="' . Url::display($url) . '" alt="' . $alts[$name] . '" />';
- }
-}