From 9cd7dedfaffe675c55de6bf97776dc08e8f0351b Mon Sep 17 00:00:00 2001 From: Jesse Donat Date: Wed, 28 Aug 2024 14:42:51 -0500 Subject: [PATCH] Add ChatGPT Support --- src/UserAgent/Browsers.php | 1 + src/UserAgentParser.php | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/UserAgent/Browsers.php b/src/UserAgent/Browsers.php index 0b1b613..3f8ff2c 100644 --- a/src/UserAgent/Browsers.php +++ b/src/UserAgent/Browsers.php @@ -15,6 +15,7 @@ interface Browsers { const BROWSER = 'Browser'; const BUNJALLOO = 'Bunjalloo'; const CAMINO = 'Camino'; + const CHATGPT_USER = 'ChatGPT-User'; const CHROME = 'Chrome'; const CURL = 'curl'; const EDGE = 'Edge'; diff --git a/src/UserAgentParser.php b/src/UserAgentParser.php index 21afd60..935a403 100644 --- a/src/UserAgentParser.php +++ b/src/UserAgentParser.php @@ -99,11 +99,12 @@ function parse_user_agent( $u_agent = null ) { %(?PCamino|Kindle(\ Fire)?|Firefox|Iceweasel|IceCat|Safari|MSIE|Trident|AppleWebKit| TizenBrowser|(?:Headless)?Chrome|YaBrowser|Vivaldi|IEMobile|Opera|OPR|Silk|Midori|(?-i:Edge)|EdgA?|CriOS|UCBrowser|Puffin| OculusBrowser|SamsungBrowser|SailfishBrowser|XiaoMi/MiuiBrowser|YaApp_Android| -Baiduspider|Applebot|Facebot|Googlebot|YandexBot|bingbot|Lynx|Version|Wget|curl| +Baiduspider|Applebot|Facebot|Googlebot|YandexBot|bingbot|Lynx|Version|Wget|curl|ChatGPT-User| Valve\ Steam\ Tenfoot| NintendoBrowser|PLAYSTATION\ (?:\d|Vita)+) \)?;? -(?:[:/ ](?P[0-9A-Z.]+)|/[A-Z]*)%ix +(?:[:/ ](?P[0-9A-Z.]+)|/[A-Z]*) +%ix REGEX , $u_agent, $result); @@ -168,7 +169,7 @@ function parse_user_agent( $u_agent = null ) { } elseif( $find('NintendoBrowser', $key) || $platform == 'Nintendo 3DS' ) { $browser = 'NintendoBrowser'; $version = $result[BROWSER_VERSION][$key]; - } elseif( $find('Kindle', $key, $platform) ) { + } elseif( $find(['Kindle'], $key, $platform) ) { $browser = $result[BROWSER][$key]; $version = $result[BROWSER_VERSION][$key]; } elseif( $find('Opera', $key, $browser) ) { @@ -187,7 +188,7 @@ function parse_user_agent( $u_agent = null ) { } } } - } elseif( $find([ 'Applebot', 'IEMobile', 'Edge', 'Midori', 'Vivaldi', 'OculusBrowser', 'SamsungBrowser', 'Valve Steam Tenfoot', 'Chrome', 'HeadlessChrome', 'SailfishBrowser' ], $key, $browser) ) { + } elseif( $find([ 'Applebot', 'IEMobile', 'Edge', 'Midori', 'Vivaldi', 'OculusBrowser', 'SamsungBrowser', 'Valve Steam Tenfoot', 'Chrome', 'HeadlessChrome', 'SailfishBrowser', 'ChatGPT-User' ], $key, $browser) ) { $version = $result[BROWSER_VERSION][$key]; } elseif( $rv_result && $find('Trident') ) { $browser = 'MSIE';