Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
trouvaille
/
Theme
:
ThemeManager.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Modules\Theme; use Illuminate\Support\Facades\File; use Modules\Theme\Abstracts\AbstractThemeProvider; class ThemeManager { protected static $_all = []; public static function current(){ return config('bc.active_theme','base'); } public static function currentProvider(){ return static::getProviderClass(static::current()); } public static function getProviderClass($theme){ return "\\Themes\\".ucfirst($theme)."\\ThemeProvider"; } public static function all(){ if(empty(static::$_all)){ static::loadAll(); } return static::$_all; } protected static function loadAll(){ $listThemes = array_map('basename', File::directories(base_path("themes"))); foreach ($listThemes as $theme){ if($theme == "Base") continue; $class = static::getProviderClass($theme); if(class_exists($class)){ self::$_all[$theme] = $class; } } } /** * @param $theme * @return bool|AbstractThemeProvider */ public static function theme($theme){ $all = static::all(); return $all[$theme] ?? false; } }