diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 422f8c0..780fcc7 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -4,6 +4,7 @@ namespace App\Providers; use App\Models\MacroSchedule\Marker; use Illuminate\Pagination\Paginator; +use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\URL; @@ -12,15 +13,6 @@ use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { - /** - * Register any application services. - * - * @return void - */ - public function register() - { - } - /** * Bootstrap any application services. * @@ -32,11 +24,31 @@ class AppServiceProvider extends ServiceProvider URL::forceScheme('https'); - if (config('app.env') === 'local') { - setlocale(LC_TIME, strtoupper(config('app.locale')) . "_" . config('app.locale') . '.utf8'); - } + // * LOCAL FORCE eg: for Carbon + // * Remove numeric to prevent float seperator to breaking numeric transactions + \collect([\LC_TIME, \LC_MESSAGES, \LC_COLLATE, \LC_CTYPE, \LC_MONETARY]) + ->map(function ($contant) { + setlocale( + $contant, + \sprintf( + '%s_%s.UTF-8', + config('app.locale'), + \strtoupper(config('app.locale')) + ) + ); + }); + Carbon::setLocale(config('app.locale')); + // * Force bootstrap paginator + Paginator::useBootstrap(); + // * HA PROXY FIX + app()->singleton('clientIp', function () { + if (config('app.env') === 'local') { + return request()->getClientIp(); + } + return request()->server('HTTP_X_FORWARDED_FOR') ?? request()->getClientIp(); + }); if (!app()->runningInConsole()) { $appInfos = Cache::remember('composer', 360, function () {