You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.8 KiB
79 lines
1.8 KiB
<?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']) && |
|
isset($res['files']) && is_array($res['files'])) { |
|
$theme = $res; |
|
$theme['path'] = $theme_dir; |
|
self::$list[$theme_dir] = $theme; |
|
} |
|
} |
|
} |
|
} |
|
|
|
public static function get() { |
|
return self::$list; |
|
} |
|
|
|
public static function get_infos($theme_id) { |
|
if (isset(self::$list[$theme_id])) { |
|
return self::$list[$theme_id]; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
public static function icon($name) { |
|
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' => '△', |
|
); |
|
$alt = isset($alts[$name]) ? $alts[$name] : '?'; |
|
return '<i class="icon i_' . $name . '">' . $alts[$name] . '</i>'; |
|
//return '<img class="icon" src="' . Url::display('/themes/icons/' . $name . '.svg') . '" alt="' . $alts[$name] . '" />'; |
|
} |
|
}
|
|
|