versionData()['version'] ?? 'undefined'); View::share('appIsGit', $this->versionData()['is_git'] ?? false); Paginator::useBootstrap(); // If the APP_URL value is set with https:// make sure we force it here. Theoretically // this should just work with the proxy logic, but there are a lot of cases where it // doesn't, and it triggers a lot of support requests, so lets just head it off here. // // @see https://github.com/pterodactyl/panel/issues/3623 if (Str::startsWith(config('app.url') ?? '', 'https://')) { URL::forceScheme('https'); } } /** * Register application service providers. */ public function register() { // Only load the settings service provider if the environment // is configured to allow it. if (!config('pterodactyl.load_environment_only', false) && $this->app->environment() !== 'testing') { $this->app->register(SettingsServiceProvider::class); } $this->app->singleton('extensions.themes', function () { return new Theme(); }); } /** * Return version information for the footer. * * @return array */ protected function versionData() { return Cache::remember('git-version', 5, function () { if (file_exists(base_path('.git/HEAD'))) { $head = explode(' ', file_get_contents(base_path('.git/HEAD'))); if (array_key_exists(1, $head)) { $path = base_path('.git/' . trim($head[1])); } } if (isset($path) && file_exists($path)) { return [ 'version' => substr(file_get_contents($path), 0, 8), 'is_git' => true, ]; } return [ 'version' => config('app.version'), 'is_git' => false, ]; }); } }