Вход Регистрация
Файл: app/Providers/SettingsServiceProvider.php
Строк: 91
<?php

namespace AppProviders;

use 
AppModelsSetting;
use 
IlluminateHttpRequest;
use 
IlluminateSupportServiceProvider;

class 
SettingsServiceProvider extends ServiceProvider
{
    
/**
     * Register services.
     *
     * @return void
     */
    
public function register()
    {
        
//
    
}

    
/**
     * Bootstrap services.
     *
     * @return void
     */
    
public function boot(Request $request)
    {
        try {
            
$settings Setting::all()->pluck('value''name');

            
// Set the app's name
            
config(['app.name' => $settings['title']]);

            
// Store all the database settings in a config array
            
foreach ($settings as $key => $value) {
                
config(['settings.' $key => $value]);
            }

            
// Set the app's default theme
            
if (!$request->hasCookie('dark_mode')) {
                
config(['settings.dark_mode' => config('settings.theme')]);
            } else {
                
// Rewrite the app's theme with the user's preference
                
if ($request->cookie('dark_mode') == 1) {
                    
config(['settings.dark_mode' => 1]);
                } else {
                    
config(['settings.dark_mode' => 0]);
                }
            }

            
// Set the app's default mail settings
            
config(['mail.default' => config('settings.email_driver')]);
            
config(['mail.mailers.smtp.host' => config('settings.email_host')]);
            
config(['mail.mailers.smtp.port' => config('settings.email_port')]);
            
config(['mail.mailers.smtp.encryption' => config('settings.email_encryption')]);
            
config(['mail.mailers.smtp.username' => config('settings.email_username')]);
            
config(['mail.mailers.smtp.password' => config('settings.email_password')]);
            
config(['mail.from.address' => config('settings.email_address')]);
            
config(['mail.from.name' => config('settings.title')]);

            
// Set the reCaptcha keys
            
config(['captcha.sitekey' => config('settings.captcha_site_key')]);
            
config(['captcha.secret' => config('settings.captcha_secret_key')]);

            
// Get the available locales
            
$locales = [];
            if(
$handle opendir(app()->langPath())) {
                while(
false !== ($locale readdir($handle))) {
                    if(
$locale != '.' && $locale != '..' && pathinfo($localePATHINFO_EXTENSION) == 'json') {
                        
// Set the default locale
                        
if (pathinfo($localePATHINFO_FILENAME) == config('settings.locale')) {
                            
config(['app.locale' => pathinfo($localePATHINFO_FILENAME)]);
                        }

                        
$locales[] = pathinfo($localePATHINFO_FILENAME);
                    }
                }
                
closedir($handle);
            }

            
// Store the locales
            
config(['app.locales' => array_intersect_key(config('languages'), array_flip($locales))]);
        } catch (
Exception $e) {}
    }
}
Онлайн: 1
Реклама