PluginProbe ʕ •ᴥ•ʔ
Download Manager / trunk
Download Manager vtrunk
3.3.62 3.3.61 3.3.60 3.3.59 3.3.58 3.3.57 3.3.56 trunk 2.1.3 2.3.0 2.5.96 2.5.97 2.6.2 2.6.96 2.8.3 2.9.99 3.0.4 3.1.05 3.1.07 3.1.08 3.1.11 3.1.12 3.1.14 3.1.17 3.1.18 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.2.04 3.2.13 3.2.14 3.2.16 3.2.18 3.2.19 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34 3.2.35 3.2.37 3.2.38 3.2.39 3.2.40 3.2.41 3.2.42 3.2.43 3.2.44 3.2.45 3.2.46 3.2.47 3.2.48 3.2.49 3.2.50 3.2.51 3.2.52 3.2.53 3.2.54 3.2.55 3.2.56 3.2.57 3.2.58 3.2.59 3.2.60 3.2.61 3.2.63 3.2.64 3.2.65 3.2.66 3.2.67 3.2.68 3.2.69 3.2.70 3.2.71 3.2.72 3.2.73 3.2.74 3.2.75 3.2.76 3.2.77 3.2.78 3.2.79 3.2.80 3.2.81 3.2.82 3.2.83 3.2.84 3.2.85 3.2.86 3.2.87 3.2.88 3.2.89 3.2.90 3.2.91 3.2.92 3.2.93 3.2.94 3.2.95 3.2.96 3.2.97 3.2.98 3.2.99 3.3.00 3.3.01 3.3.02 3.3.03 3.3.04 3.3.05 3.3.06 3.3.07 3.3.08 3.3.09 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55
download-manager / src / __ / UserAgent.php
download-manager / src / __ Last commit date
HTML 1 year ago views 5 months ago Apply.php 6 months ago Cron.php 1 year ago CronJob.php 7 months ago CronJobs.php 2 months ago Crypt.php 1 month ago DownloadStats.php 5 months ago Email.php 5 days ago EmailCron.php 1 year ago FileSystem.php 1 year ago Installer.php 18 hours ago Messages.php 1 year ago Query.php 4 months ago Session.php 18 hours ago Settings.php 4 years ago SimpleMath.php 4 years ago TempStorage.php 18 hours ago Template.php 5 months ago UI.php 6 months ago Updater.php 4 years ago UserAgent.php 2 years ago __.php 1 month ago __MailUI.php 3 years ago
UserAgent.php
98 lines
1 <?php
2
3
4 namespace WPDM\__;
5
6
7 class UserAgent
8 {
9 public $HTTP_USER_AGENT;
10 public $browserName = 'Unknown';
11 public $browserVersion = 'Unknown';
12 public $OS = 'Unknown';
13
14 function __construct()
15 {
16 $this->HTTP_USER_AGENT = isset($_SERVER, $_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] !== '' ? $_SERVER['HTTP_USER_AGENT'] : 'MISSING';
17 }
18
19 function set($HTTP_USER_AGENT){
20 $this->HTTP_USER_AGENT = $HTTP_USER_AGENT;
21 return $this;
22 }
23
24 function parse()
25 {
26 $this->getOS();
27 $this->getBrowser();
28 return $this;
29 }
30
31 function getOS()
32 {
33 if (preg_match('/linux/i', $this->HTTP_USER_AGENT)) {
34 $this->OS = 'Linux';
35 } elseif (preg_match('/macintosh|mac os x/i', $this->HTTP_USER_AGENT)) {
36 $this->OS = 'Mac OS X';
37 } elseif (preg_match('/windows|win32/i', $this->HTTP_USER_AGENT)) {
38 $this->OS = 'Windows';
39 } else
40 $this->OS = 'Unknown';
41 return $this->OS;
42 }
43
44 function getBrowser()
45 {
46 $ub = "";
47 if (preg_match('/MSIE/i', $this->HTTP_USER_AGENT) && !preg_match('/Opera/i', $this->HTTP_USER_AGENT)) {
48 $this->browserName = 'Internet Explorer';
49 $ub = "MSIE";
50 } elseif (preg_match('/Firefox/i', $this->HTTP_USER_AGENT)) {
51 $this->browserName = 'Mozilla Firefox';
52 $ub = "Firefox";
53 } elseif (preg_match('/OPR/i', $this->HTTP_USER_AGENT)) {
54 $this->browserName = 'Opera';
55 $ub = "Opera";
56 } elseif (preg_match('/Chrome/i', $this->HTTP_USER_AGENT) && !preg_match('/Edge/i', $this->HTTP_USER_AGENT)) {
57 $this->browserName = 'Google Chrome';
58 $ub = "Chrome";
59 } elseif (preg_match('/Safari/i', $this->HTTP_USER_AGENT) && !preg_match('/Edge/i', $this->HTTP_USER_AGENT)) {
60 $this->browserName = 'Apple Safari';
61 $ub = "Safari";
62 } elseif (preg_match('/Netscape/i', $this->HTTP_USER_AGENT)) {
63 $this->browserName = 'Netscape';
64 $ub = "Netscape";
65 } elseif (preg_match('/Edge/i', $this->HTTP_USER_AGENT)) {
66 $this->browserName = 'Edge';
67 $ub = "Edge";
68 } elseif (preg_match('/Trident/i', $this->HTTP_USER_AGENT)) {
69 $this->browserName = 'Internet Explorer';
70 $ub = "MSIE";
71 } else
72 $this->browserName = 'Unknown';
73
74 $known = array('Version', $ub, 'other');
75 $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
76 if(preg_match_all($pattern, $this->HTTP_USER_AGENT, $matches)) {
77 $i = count($matches['browser']);
78 if ($i != 1) {
79 if (strripos($this->HTTP_USER_AGENT, "Version") < strripos($this->HTTP_USER_AGENT, $ub)) {
80 $this->browserVersion = $matches['version'][0];
81 } else {
82 $this->browserVersion = $matches['version'][1];
83 }
84 } else {
85 $this->browserVersion = $matches['version'][0];
86 }
87 } else {
88 $this->browserVersion = 'Unknown';
89 }
90
91 if ($this->browserVersion == null || $this->browserVersion == "") {
92 $this->browserVersion = "Unknown";
93 }
94 return json_decode( json_encode( ['name' => $this->browserName, 'version' => $this->browserVersion ] ), false );
95 }
96
97 }
98