-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path_ide_helper_macros.php
75 lines (69 loc) · 2.57 KB
/
_ide_helper_macros.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
/* @noinspection ALL */
// @formatter:off
// phpcs:ignoreFile
namespace Illuminate\Support {
class Carbon {
///**
// * @see \NormanHuth\Library\Support\Macros\Carbon\ToAppTimezoneMacro::__invoke()
// */
//public function toAppTimezone(): \Illuminate\Support\Carbon
//{
// /** @var \Illuminate\Support\Carbon $instance */
// if ($timezone = config('app.public_timezone')) {
// return $instance->tz($timezone);
// }
//
// return $instance;
//}
///**
// * @see \NormanHuth\Library\Support\Macros\Carbon\ResolveTimezoneMacro::__invoke()
// */
//public function resolveTimezone(\Illuminate\Http\Request $request): \Illuminate\Support\Carbon
//{
// /** @var \Illuminate\Support\Carbon $instance */
// if ($timezone = $request->session()?->get('timezone')) {
// return $instance->tz($timezone);
// }
// if ($timezone = $request->user()?->timezone) {
// return $instance->tz($timezone);
// }
// if ($timezone = config('app.public_timezone')) {
// return $instance->tz($timezone);
// }
//
// return $instance;
//}
///**
// * @see \NormanHuth\Library\Support\Macros\Carbon\ToSessionTimezoneMacro::__invoke()
// */
//public function toSessionTimezone(\Illuminate\Http\Request $request): \Illuminate\Support\Carbon
//{
// /** @var \Illuminate\Support\Carbon $instance */
// if ($timezone = $request->session()?->get('timezone')) {
// return $instance->tz($timezone);
// }
//
// return $instance;
//}
/**
* @see \NormanHuth\Library\Support\Macros\Carbon\ToUserTimezoneMacro::__invoke()
*/
public function toUserTimezone(\Illuminate\Http\Request $request): \Illuminate\Support\Carbon|\Carbon\Carbon
{
/** @var \Illuminate\Support\Carbon $instance */
if ($instance = $request->user()?->timezone) {
return $this->tz($timezone);
}
return $instance;
}
/**
* @see \App\Providers\AppServiceProvider::macros()
*/
public function publicFormatted(\Illuminate\Http\Request $request): string
{
/** @var \Illuminate\Support\Carbon|\Carbon\Carbon $instance */
return $instance->toUserTimezone($request)->translatedFormat('M j');
}
}
}