|
15 | 15 | use Dot\GeoIP\Service\LocationService; |
16 | 16 | use Exception; |
17 | 17 |
|
| 18 | +use function get_browser; |
18 | 19 | use function in_array; |
| 20 | +use function ini_get; |
19 | 21 |
|
20 | 22 | class AdminLoginService implements AdminLoginServiceInterface |
21 | 23 | { |
@@ -114,24 +116,26 @@ private function logAdminVisit(array $serverParams, string $name, SuccessFailure |
114 | 116 | //check browscap availability |
115 | 117 | if (ini_get('browscap')) { |
116 | 118 | //call browscap |
117 | | - $browser = get_browser($_SERVER['HTTP_USER_AGENT'], true); |
| 119 | + $browser = get_browser($_SERVER['HTTP_USER_AGENT']); |
118 | 120 |
|
119 | 121 | //map browscap to AdminLogin |
120 | 122 | $adminLogin = (new AdminLogin()) |
121 | 123 | ->setAdminIp($this->locationService->obfuscateIpAddress($ipAddress)) |
122 | 124 | ->setContinent($continent) |
123 | 125 | ->setCountry($country) |
124 | 126 | ->setOrganization($organization) |
125 | | - ->setDeviceType($browser['device_type']) |
126 | | - ->setDeviceBrand($browser['device_name']) |
| 127 | + ->setDeviceType($browser->device_type ?? null) |
| 128 | + ->setDeviceBrand($browser->device_name ?? null) |
127 | 129 | ->setDeviceModel(null) |
128 | | - ->setIsMobile($browser['ismobiledevice'] ? YesNoEnum::Yes : YesNoEnum::No) |
129 | | - ->setOsName($browser['platform_description']) |
130 | | - ->setOsVersion($browser['platform_version']) |
131 | | - ->setOsPlatform($browser['platform']) |
132 | | - ->setClientType($browser['browser_type']) |
133 | | - ->setClientName($browser['browser']) |
134 | | - ->setClientEngine($browser['renderingengine_name']) |
| 130 | + ->setIsMobile( |
| 131 | + isset($browser->ismobiledevice) && $browser->ismobiledevice ? YesNoEnum::Yes : YesNoEnum::No |
| 132 | + ) |
| 133 | + ->setOsName($browser->platform_description ?? null) |
| 134 | + ->setOsVersion($browser->platform_version ?? null) |
| 135 | + ->setOsPlatform($browser->platform ?? null) |
| 136 | + ->setClientType($browser->browser_type ?? null) |
| 137 | + ->setClientName($browser->browser ?? null) |
| 138 | + ->setClientEngine($browser->renderingengine_name ?? null) |
135 | 139 | ->setClientVersion(null) |
136 | 140 | ->setLoginStatus($status) |
137 | 141 | ->setIdentity($name); |
|
0 commit comments