コード例 #1
0
 public function __construct(Request $request)
 {
     $parser = new UAParser();
     $this->uaParsedData = $parser->parse($request->headers->get('User-Agent'));
 }
コード例 #2
0
ファイル: VisitorInfo.php プロジェクト: RLuizBR/php-projects
 private function getUserAgentInfoByUAParser($uaString)
 {
     $uaInfo = null;
     $record = null;
     try {
         $uaParser = new UAParser();
         $record = $uaParser->parse($uaString);
     } catch (Exception $e) {
         $record = null;
     }
     if ($record != null) {
         $uaInfo = array();
         $os = $record->getOperatingSystem()->getFamily();
         if ($os == null || !strcasecmp($os, "other") || !strcasecmp($os, "null")) {
             $os = "";
         }
         $os_ver = $record->getOperatingSystem()->getMajor();
         if ($os_ver == null || !strcasecmp($os_ver, "other") || !strcasecmp($os_ver, "null")) {
             $os_ver = "";
         }
         if (strcmp($os_ver, '') && strcmp($record->getOperatingSystem()->getMinor(), '')) {
             $os_ver = $os_ver . '.' . $record->getOperatingSystem()->getMinor();
         }
         if (strcmp($os_ver, '') && strcmp($record->getOperatingSystem()->getPatch(), '')) {
             $os_ver = $os_ver . '.' . $record->getOperatingSystem()->getPatch();
         }
         $oscode = strtolower($os);
         $browser = $record->getBrowser()->getFamily();
         if ($browser == null || !strcasecmp($browser, "other") || !strcasecmp($browser, "null")) {
             $browser = "";
         }
         $brws_ver = $record->getBrowser()->getMajor();
         if ($brws_ver == null || !strcasecmp($brws_ver, "other") || !strcasecmp($brws_ver, "null")) {
             $brws_ver = "";
         }
         if (strcmp($brws_ver, '') && strcmp($record->getBrowser()->getMinor(), '')) {
             $brws_ver = $brws_ver . '.' . $record->getBrowser()->getMinor();
         }
         if (strcmp($brws_ver, '') && strcmp($record->getBrowser()->getPatch(), '')) {
             $brws_ver = $brws_ver . '.' . $record->getBrowser()->getPatch();
         }
         $brwscode = strtolower($browser);
         $ismobiledevice = $record->getDevice()->isMobile() || $record->getDevice()->isTablet() || !$record->getDevice()->isDesktop();
         $uaInfo['os'] = $os;
         $uaInfo['os_version'] = $os_ver;
         $uaInfo['os_code'] = $oscode;
         $uaInfo['browser'] = $browser;
         $uaInfo['browser_version'] = $brws_ver;
         $uaInfo['browser_code'] = $brwscode;
         $uaInfo['is_mobile'] = $ismobiledevice;
     }
     return $uaInfo;
 }