function parseUserAgentInfo($db, $detect) { $parser = Parser::create(); $result = $parser->parse($detect->getUserAgent()); //If is not mobile or tablet if (!$detect->isMobile() && !$detect->isTablet()) { switch ($result->device->family) { //Is Bot case 'Bot': $type = "4"; $result->device->family = "Bot"; break; //Is Desktop //Is Desktop case 'Other': $type = "1"; $result->device->family = "Desktop"; break; } } else { //If tablet if ($detect->isTablet()) { $type = "3"; //If mobile } else { $type = "2"; } } if (PLATFORMS::botCheck($_SERVER['HTTP_X_FORWARDED_FOR'])) { $type = "4"; $result->device->family = "Bot"; } //Select from DB and return ID's $mysql['browser'] = $db->real_escape_string($result->ua->family); $mysql['platform'] = $db->real_escape_string($result->os->family); $mysql['device'] = $db->real_escape_string($result->device->family); $mysql['device_type'] = $db->real_escape_string($type); //Get browser ID $browser_sql = "SELECT browser_id FROM 202_browsers WHERE browser_name='" . $mysql['browser'] . "'"; $browser_result = _mysqli_query($db, $browser_sql); $browser_row = $browser_result->fetch_assoc(); if ($browser_row) { $browser_id = $browser_row['browser_id']; } else { $browser_sql = "INSERT INTO 202_browsers SET browser_name='" . $mysql['browser'] . "'"; $browser_result = _mysqli_query($db, $browser_sql); $browser_id = $db->insert_id; } //Get platform ID $platform_sql = "SELECT platform_id FROM 202_platforms WHERE platform_name='" . $mysql['platform'] . "'"; $platform_result = _mysqli_query($db, $platform_sql); $platform_row = $platform_result->fetch_assoc(); if ($platform_row) { $platform_id = $platform_row['platform_id']; } else { $platform_sql = "INSERT INTO 202_platforms SET platform_name='" . $mysql['platform'] . "'"; $platform_result = _mysqli_query($db, $platform_sql); $platform_id = $db->insert_id; } //Get device model ID $device_sql = "SELECT device_id, device_type FROM 202_device_models WHERE device_name='" . $mysql['device'] . "'"; $device_result = _mysqli_query($db, $device_sql); $device_row = $device_result->fetch_assoc(); if ($device_row) { $device_id = $device_row['device_id']; $device_type = $device_row['device_type']; } else { $device_sql = "INSERT INTO 202_device_models SET device_name='" . $mysql['device'] . "', device_type='" . $mysql['device_type'] . "'"; $device_result = _mysqli_query($db, $device_sql); $device_id = $db->insert_id; $device_type = $type; } $data = array('browser' => $browser_id, 'platform' => $platform_id, 'device' => $device_id, 'type' => $device_type); return $data; }