本文整理汇总了PHP中Piwik\Tracker\Request::getUserAgent方法的典型用法代码示例。如果您正苦于以下问题:PHP Request::getUserAgent方法的具体用法?PHP Request::getUserAgent怎么用?PHP Request::getUserAgent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Piwik\Tracker\Request
的用法示例。
在下文中一共展示了Request::getUserAgent方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkHeaderInTracker
/**
* Checks for DoNotTrack headers and if found, sets `$exclude` to `true`.
*/
public function checkHeaderInTracker(&$exclude)
{
if ($exclude) {
Common::printDebug("Visit is already excluded, no need to check DoNotTrack support.");
return;
}
if (!$this->isActive()) {
Common::printDebug("DoNotTrack support is not enabled, skip check");
return;
}
if (isset($_SERVER['HTTP_X_DO_NOT_TRACK']) && $_SERVER['HTTP_X_DO_NOT_TRACK'] === '1' || isset($_SERVER['HTTP_DNT']) && substr($_SERVER['HTTP_DNT'], 0, 1) === '1') {
$request = new Request($_REQUEST);
$ua = $request->getUserAgent();
if (strpos($ua, 'MSIE') !== false || strpos($ua, 'Trident') !== false) {
Common::printDebug("INTERNET EXPLORER enable DoNotTrack by default; so Piwik ignores DNT IE browsers...");
return;
}
Common::printDebug("DoNotTrack header found!");
$exclude = true;
$trackingCookie = IgnoreCookie::getTrackingCookie();
$trackingCookie->delete();
// this is an optional supplement to the site's tracking status resource at:
// /.well-known/dnt
// per Tracking Preference Expression (draft)
header('Tk: 1');
} else {
Common::printDebug("DoNotTrack header not found");
}
}
示例2: __construct
/**
* @param Request $request
*/
public function __construct(Request $request)
{
$this->spamFilter = new ReferrerSpamFilter();
$this->request = $request;
$this->idSite = $request->getIdSite();
$userAgent = $request->getUserAgent();
$this->userAgent = Common::unsanitizeInputValue($userAgent);
$this->ip = $request->getIp();
}
示例3: onNewVisit
/**
* @param Request $request
* @param Visitor $visitor
* @param Action|null $action
* @return mixed
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
$userAgent = $request->getUserAgent();
$parser = $this->getUAParser($userAgent);
$aBrowserInfo = $parser->getClient();
if (!empty($aBrowserInfo['short_name'])) {
return $aBrowserInfo['short_name'];
}
return 'UNK';
}
示例4: onNewVisit
/**
* @param Request $request
* @param Visitor $visitor
* @param Action|null $action
* @return mixed
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
$userAgent = $request->getUserAgent();
$parser = $this->getUAParser($userAgent);
if ($parser->isBot()) {
$os = Settings::OS_BOT;
} else {
$os = $parser->getOS();
$os = empty($os['short_name']) ? 'UNK' : $os['short_name'];
}
return $os;
}
示例5: __construct
/**
* @param Request $request
* @param bool|string $ip
* @param bool|string $userAgent
*/
public function __construct(Request $request, $ip = false, $userAgent = false)
{
if ($ip === false) {
$ip = $request->getIp();
}
if ($userAgent === false) {
$userAgent = $request->getUserAgent();
}
$this->request = $request;
$this->idSite = $request->getIdSite();
$this->userAgent = $userAgent;
$this->ip = $ip;
}
示例6: __construct
/**
* @param Request $request
* @param bool|string $ip
* @param bool|string $userAgent
*/
public function __construct(Request $request, $ip = false, $userAgent = false)
{
$this->spamFilter = new ReferrerSpamFilter();
if (false === $ip) {
$ip = $request->getIp();
}
if (false === $userAgent) {
$userAgent = $request->getUserAgent();
}
$this->request = $request;
$this->idSite = $request->getIdSite();
$this->userAgent = $userAgent;
$this->ip = $ip;
}
示例7: isDoNotTrackFound
/**
* @return bool
*/
public function isDoNotTrackFound()
{
if (!$this->isActive()) {
Common::printDebug("DoNotTrack support is not enabled, skip check");
return false;
}
if (!$this->isHeaderDntFound()) {
Common::printDebug("DoNotTrack header not found");
return false;
}
$request = new Request($_REQUEST);
$userAgent = $request->getUserAgent();
if ($this->isUserAgentWithDoNotTrackAlwaysEnabled($userAgent)) {
Common::printDebug("INTERNET EXPLORER enable DoNotTrack by default; so Piwik ignores DNT IE browsers...");
return false;
}
Common::printDebug("DoNotTrack header found!");
return true;
}
示例8: getUserSettingsInformation
/**
* Gets the UserSettings information and returns them in an array of name => value
*
* @return array
*/
protected function getUserSettingsInformation()
{
// we already called this method before, simply returns the result
if (is_array($this->userSettingsInformation)) {
return $this->userSettingsInformation;
}
require_once PIWIK_INCLUDE_PATH . '/libs/UserAgentParser/UserAgentParser.php';
list($plugin_Flash, $plugin_Java, $plugin_Director, $plugin_Quicktime, $plugin_RealPlayer, $plugin_PDF, $plugin_WindowsMedia, $plugin_Gears, $plugin_Silverlight, $plugin_Cookie) = $this->request->getPlugins();
$resolution = $this->request->getParam('res');
$userAgent = $this->request->getUserAgent();
$aBrowserInfo = UserAgentParser::getBrowser($userAgent);
$browserName = $aBrowserInfo !== false && $aBrowserInfo['id'] !== false ? $aBrowserInfo['id'] : 'UNK';
$browserVersion = $aBrowserInfo !== false && $aBrowserInfo['version'] !== false ? $aBrowserInfo['version'] : '';
$os = UserAgentParser::getOperatingSystem($userAgent);
$os = $os === false ? 'UNK' : $os['id'];
$browserLang = substr($this->request->getBrowserLanguage(), 0, 20);
// limit the length of this string to match db
$configurationHash = $this->getConfigHash($os, $browserName, $browserVersion, $plugin_Flash, $plugin_Java, $plugin_Director, $plugin_Quicktime, $plugin_RealPlayer, $plugin_PDF, $plugin_WindowsMedia, $plugin_Gears, $plugin_Silverlight, $plugin_Cookie, $this->getVisitorIp(), $browserLang);
$this->userSettingsInformation = array('config_id' => $configurationHash, 'config_os' => $os, 'config_browser_name' => $browserName, 'config_browser_version' => $browserVersion, 'config_resolution' => $resolution, 'config_pdf' => $plugin_PDF, 'config_flash' => $plugin_Flash, 'config_java' => $plugin_Java, 'config_director' => $plugin_Director, 'config_quicktime' => $plugin_Quicktime, 'config_realplayer' => $plugin_RealPlayer, 'config_windowsmedia' => $plugin_WindowsMedia, 'config_gears' => $plugin_Gears, 'config_silverlight' => $plugin_Silverlight, 'config_cookie' => $plugin_Cookie, 'location_browser_lang' => $browserLang);
return $this->userSettingsInformation;
}
示例9: getConfigId
public function getConfigId(Request $request, $ipAddress)
{
list($plugin_Flash, $plugin_Java, $plugin_Director, $plugin_Quicktime, $plugin_RealPlayer, $plugin_PDF, $plugin_WindowsMedia, $plugin_Gears, $plugin_Silverlight, $plugin_Cookie) = $request->getPlugins();
$userAgent = $request->getUserAgent();
$deviceDetector = DeviceDetectorFactory::getInstance($userAgent);
$aBrowserInfo = $deviceDetector->getClient();
if ($aBrowserInfo['type'] != 'browser') {
// for now only track browsers
unset($aBrowserInfo);
}
$browserName = !empty($aBrowserInfo['short_name']) ? $aBrowserInfo['short_name'] : 'UNK';
$browserVersion = !empty($aBrowserInfo['version']) ? $aBrowserInfo['version'] : '';
if ($deviceDetector->isBot()) {
$os = self::OS_BOT;
} else {
$os = $deviceDetector->getOS();
$os = empty($os['short_name']) ? 'UNK' : $os['short_name'];
}
$browserLang = substr($request->getBrowserLanguage(), 0, 20);
// limit the length of this string to match db
return $this->getConfigHash($request, $os, $browserName, $browserVersion, $plugin_Flash, $plugin_Java, $plugin_Director, $plugin_Quicktime, $plugin_RealPlayer, $plugin_PDF, $plugin_WindowsMedia, $plugin_Gears, $plugin_Silverlight, $plugin_Cookie, $ipAddress, $browserLang);
}
示例10: checkHeaderInTracker
/**
* Checks for DoNotTrack headers and if found, sets `$exclude` to `true`.
*/
public function checkHeaderInTracker(&$exclude)
{
if (!$this->isActiveInTracker() || $exclude) {
return;
}
if (isset($_SERVER['HTTP_X_DO_NOT_TRACK']) && $_SERVER['HTTP_X_DO_NOT_TRACK'] === '1' || isset($_SERVER['HTTP_DNT']) && substr($_SERVER['HTTP_DNT'], 0, 1) === '1') {
$request = new Request($_REQUEST);
$ua = $request->getUserAgent();
if (strpos($ua, 'MSIE 10') !== false || strpos($ua, 'Trident/7') !== false) {
Common::printDebug("INTERNET EXPLORER 10 and 11 enable DoNotTrack by default; so Piwik ignores DNT for all IE10 + IE11 browsers...");
return;
}
$exclude = true;
Common::printDebug("DoNotTrack found.");
$trackingCookie = IgnoreCookie::getTrackingCookie();
$trackingCookie->delete();
// this is an optional supplement to the site's tracking status resource at:
// /.well-known/dnt
// per Tracking Preference Expression (draft)
header('Tk: 1');
}
}
示例11: onNewVisit
/**
* @param Request $request
* @param Visitor $visitor
* @param Action|null $action
* @return mixed
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
$userAgent = $request->getUserAgent();
$parser = $this->getUAParser($userAgent);
return $parser->getModel();
}
示例12: parseMobileVisitData
public function parseMobileVisitData(&$visitorInfo, \Piwik\Tracker\Request $request)
{
$userAgent = $request->getUserAgent();
$UAParser = new DeviceDetector($userAgent);
$UAParser->setCache(new CacheFile('tracker', 86400));
$UAParser->parse();
$deviceInfo['config_browser_name'] = $UAParser->getBrowser("short_name");
$deviceInfo['config_browser_version'] = $UAParser->getBrowser("version");
$deviceInfo['config_os'] = $UAParser->getOs("short_name");
$deviceInfo['config_os_version'] = $UAParser->getOs("version");
$deviceInfo['config_device_type'] = $UAParser->getDevice();
$deviceInfo['config_device_model'] = $UAParser->getModel();
$deviceInfo['config_device_brand'] = $UAParser->getBrand();
$visitorInfo = array_merge($visitorInfo, $deviceInfo);
Common::printDebug("Device Detection:");
Common::printDebug($deviceInfo);
}
示例13: parseMobileVisitData
public function parseMobileVisitData(&$visitorInfo, \Piwik\Tracker\Request $request)
{
$userAgent = $request->getUserAgent();
$UAParser = new UserAgentParserEnhanced($userAgent);
$UAParser->parse();
$deviceInfo['config_browser_name'] = $UAParser->getBrowser("short_name");
$deviceInfo['config_browser_version'] = $UAParser->getBrowser("version");
$deviceInfo['config_os'] = $UAParser->getOs("short_name");
$deviceInfo['config_os_version'] = $UAParser->getOs("version");
$deviceInfo['config_device_type'] = $UAParser->getDevice();
$deviceInfo['config_device_model'] = $UAParser->getModel();
$deviceInfo['config_device_brand'] = $UAParser->getBrand();
if (@Config::getInstance()->Debug['store_user_agent_in_visit']) {
$deviceInfo['config_debug_ua'] = $userAgent;
}
$visitorInfo = array_merge($visitorInfo, $deviceInfo);
Common::printDebug("Device Detection:");
Common::printDebug($deviceInfo);
}