29 lines
		
	
	
		
			676 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			676 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Pterodactyl\Providers;
 | 
						|
 | 
						|
use Illuminate\Support\Facades\File;
 | 
						|
use Illuminate\Support\ServiceProvider;
 | 
						|
 | 
						|
class MacroServiceProvider extends ServiceProvider
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Bootstrap the application services.
 | 
						|
     */
 | 
						|
    public function boot()
 | 
						|
    {
 | 
						|
        File::macro('humanReadableSize', function ($path, $precision = 2) {
 | 
						|
            $size = File::size($path);
 | 
						|
            static $units = ['B', 'kB', 'MB', 'GB', 'TB'];
 | 
						|
 | 
						|
            $i = 0;
 | 
						|
            while (($size / 1024) > 0.9) {
 | 
						|
                $size = $size / 1024;
 | 
						|
                $i++;
 | 
						|
            }
 | 
						|
 | 
						|
            return round($size, ($i < 2) ? 0 : $precision) . ' ' . $units[$i];
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 |