File manager - Edit - /home/linknsbh/cecil-hotel.net/vendor/botble/theme/src/Manager.php
Back
<?php namespace Botble\Theme; use Botble\Base\Facades\BaseHelper; use Botble\Theme\Facades\Theme as ThemeFacade; use Botble\Theme\Services\ThemeService; use Illuminate\Support\Arr; use Illuminate\Support\Facades\File; class Manager { protected array $themes = []; public function __construct(protected ThemeService $themeService) { $this->registerTheme(self::getAllThemes()); } public function registerTheme(string|array $theme): void { if (! is_array($theme)) { $theme = [$theme]; } $this->themes = array_merge_recursive($this->themes, $theme); } public function getAllThemes(): array { $themes = []; $themePath = theme_path(); foreach (BaseHelper::scanFolder($themePath) as $folder) { $jsonFile = $themePath . '/' . $folder . '/theme.json'; $publicJsonFile = public_path('themes/' . ThemeFacade::getPublicThemeName() . '/theme.json'); if (File::exists($publicJsonFile)) { $jsonFile = $publicJsonFile; } if (! File::exists($jsonFile)) { continue; } $theme = BaseHelper::getFileData($jsonFile); if (! empty($theme)) { $themeConfig = $this->themeService->getThemeConfig($folder); $themes[$folder] = $theme; $themes[$folder]['inherit'] = Arr::get($themeConfig, 'inherit'); } } return $themes; } public function getThemes(): array { return $this->themes; } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0.73 |
proxy
|
phpinfo
|
Settings