25 lines
		
	
	
		
			721 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			721 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php declare(strict_types=1);
 | 
						|
 | 
						|
namespace App\Helpers;
 | 
						|
 | 
						|
use Illuminate\Support\Facades\Cache;
 | 
						|
use Illuminate\Support\Collection;
 | 
						|
 | 
						|
final readonly class Helpers
 | 
						|
{
 | 
						|
    public static function getTimeZoneList(): Collection
 | 
						|
    {
 | 
						|
        return Cache::rememberForever('timezones_list_collection', function () {
 | 
						|
            $timezone = [];
 | 
						|
            foreach (timezone_identifiers_list(\DateTimeZone::ALL) as $key => $value) {
 | 
						|
                $timezone[$value] = $value . ' (UTC ' . now($value)->format('P') . ')';
 | 
						|
            }
 | 
						|
            return collect($timezone)->sortKeys();
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    public static function getUserTimeZone() {
 | 
						|
        return auth()->user()?->timezone ?? config('app.user_timezone');
 | 
						|
    }
 | 
						|
}
 |