diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ec8f127a9..adeb8fbe8 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,7 +3,9 @@ namespace App\Providers; use App\User; +use Auth, Horizon; use App\Observers\UserObserver; +use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -15,7 +17,37 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - User::observe(UserObserver::class); + User::observe(UserObserver::class); + + Horizon::auth(function ($request) { + return Auth::check() && $request->user()->is_admin; + }); + + Blade::directive('prettyNumber', function($expression) { + $num = $expression; + $abbrevs = array(12 => "T", 9 => "B", 6 => "M", 3 => "K", 0 => ""); + foreach($abbrevs as $exponent => $abbrev) { + if($expression >= pow(10, $exponent)) { + $display_num = $expression / pow(10, $exponent); + $num = number_format($display_num,0) . $abbrev; + return ""; + } + } + return ""; + }); + + Blade::directive('prettySize', function($expression) { + + $size = intval($expression); + $precision = 0; + $short = true; + $units = $short ? + ['B','k','M','G','T','P','E','Z','Y'] : + ['B','kB','MB','GB','TB','PB','EB','ZB','YB']; + for($i = 0; ($size / 1024) > 0.9; $i++, $size /= 1024) {} + $res = round($size, $precision).$units[$i]; + return ""; + }); } /**