php Piwik-Tracker-Request类(方法)实例源码

下面列出了php Piwik-Tracker-Request 类(方法)源码代码实例,从而了解它的用法。

作者:KiwiJuice    项目:handball-dacha   
public function enrichVisitWithLocation(&$visitorInfo, \Piwik\Tracker\Request $request)
 {
     require_once PIWIK_INCLUDE_PATH . "/plugins/UserCountry/LocationProvider.php";
     $ipAddress = IP::N2P(Config::getInstance()->Tracker['use_anonymized_ip_for_visit_enrichment'] == 1 ? $visitorInfo['location_ip'] : $request->getIp());
     $userInfo = array('lang' => $visitorInfo['location_browser_lang'], 'ip' => $ipAddress);
     $id = Common::getCurrentLocationProviderId();
     $provider = LocationProvider::getProviderById($id);
     if ($provider === false) {
         $id = DefaultProvider::ID;
         $provider = LocationProvider::getProviderById($id);
         Common::printDebug("GEO: no current location provider sent, falling back to default '{$id}' one.");
     }
     $location = $provider->getLocation($userInfo);
     // if we can't find a location, use default provider
     if ($location === false) {
         $defaultId = DefaultProvider::ID;
         $provider = LocationProvider::getProviderById($defaultId);
         $location = $provider->getLocation($userInfo);
         Common::printDebug("GEO: couldn't find a location with Geo Module '{$id}', using Default '{$defaultId}' provider as fallback...");
         $id = $defaultId;
     }
     Common::printDebug("GEO: Found IP {$ipAddress} location (provider '" . $id . "'): " . var_export($location, true));
     if (empty($location['country_code'])) {
         // sanity check
         $location['country_code'] = \Piwik\Tracker\Visit::UNKNOWN_CODE;
     }
     // add optional location components
     $this->updateVisitInfoWithLocation($visitorInfo, $location);
 }

作者:FluentDevelopmen    项目:piwi   
public function onExistingVisit(&$valuesToUpdate, VisitProperties $visitProperties, Request $request)
 {
     $visitCustomVariables = $request->getMetadata('CustomVariables', 'visitCustomVariables');
     if (!empty($visitCustomVariables)) {
         $valuesToUpdate = array_merge($valuesToUpdate, $visitCustomVariables);
     }
 }

作者:CaptainShar    项目:SSAD_Projec   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onExistingVisit(Request $request, Visitor $visitor, $action)
 {
     $firstActionTime = $visitor->getVisitorColumn('visit_first_action_time');
     $totalTime = 1 + $request->getCurrentTimestamp() - $firstActionTime;
     $totalTime = $this->cleanupVisitTotalTime($totalTime);
     return $totalTime;
 }

作者:brienomatt    项目:elmsl   
/**
  * 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");
     }
 }

作者:FluentDevelopmen    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     // Adding &dp=1 will disable the provider plugin, this is an "unofficial" parameter used to speed up log importer
     $disableProvider = $request->getParam('dp');
     if (!empty($disableProvider)) {
         return false;
     }
     // if provider info has already been set, abort
     $locationValue = $visitor->getVisitorColumn('location_provider');
     if (!empty($locationValue)) {
         return false;
     }
     $ip = $visitor->getVisitorColumn('location_ip');
     $privacyConfig = new PrivacyManagerConfig();
     if (!$privacyConfig->useAnonymizedIpForVisitEnrichment) {
         $ip = $request->getIp();
     }
     $ip = IPUtils::binaryToStringIP($ip);
     // In case the IP was anonymized, we should not continue since the DNS reverse lookup will fail and this will slow down tracking
     if (substr($ip, -2, 2) == '.0') {
         Common::printDebug("IP Was anonymized so we skip the Provider DNS reverse lookup...");
         return false;
     }
     $hostname = $this->getHost($ip);
     $hostnameExtension = ProviderPlugin::getCleanHostname($hostname);
     // add the provider value in the table log_visit
     $locationProvider = substr($hostnameExtension, 0, 100);
     return $locationProvider;
 }

作者:diosmosi    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onExistingVisit(Request $request, Visitor $visitor, $action)
 {
     if ($request->getParam('ping') == 1) {
         return false;
     }
     return $this->onNewVisit($request, $visitor, $action);
 }

作者:brienomatt    项目:elmsl   
/**
  * Logs the provider in the log_visit table
  */
 public function enrichVisitWithProviderInfo(&$visitorInfo, \Piwik\Tracker\Request $request)
 {
     // if provider info has already been set, abort
     if (!empty($visitorInfo['location_provider'])) {
         return;
     }
     $privacyConfig = new PrivacyManagerConfig();
     $ip = IP::N2P($privacyConfig->useAnonymizedIpForVisitEnrichment ? $visitorInfo['location_ip'] : $request->getIp());
     // In case the IP was anonymized, we should not continue since the DNS reverse lookup will fail and this will slow down tracking
     if (substr($ip, -2, 2) == '.0') {
         Common::printDebug("IP Was anonymized so we skip the Provider DNS reverse lookup...");
         return;
     }
     $hostname = $this->getHost($ip);
     $hostnameExtension = $this->getCleanHostname($hostname);
     // add the provider value in the table log_visit
     $visitorInfo['location_provider'] = $hostnameExtension;
     $visitorInfo['location_provider'] = substr($visitorInfo['location_provider'], 0, 100);
     // improve the country using the provider extension if valid
     $hostnameDomain = substr($hostnameExtension, 1 + strrpos($hostnameExtension, '.'));
     if ($hostnameDomain == 'uk') {
         $hostnameDomain = 'gb';
     }
     if (array_key_exists($hostnameDomain, Common::getCountriesList())) {
         $visitorInfo['location_country'] = $hostnameDomain;
     }
 }

作者:a4tunad    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     $referrerUrl = $request->getParam('urlref');
     $currentUrl = $request->getParam('url');
     $information = $this->getReferrerInformation($referrerUrl, $currentUrl, $request->getIdSite());
     return $information['referer_url'];
 }

作者:adorablei    项目:piwi   
public static function shouldHandle(Request $request)
 {
     $name = $request->getParam('c_n');
     $interaction = $request->getParam('c_i');
     // if interaction is set we want it to be for instance an outlink, download, ...
     return !empty($name) && empty($interaction);
 }

作者:a4tunad    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     $language = $request->getBrowserLanguage();
     if (empty($language)) {
         return '';
     }
     return substr($language, 0, 20);
 }

作者:piwi    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     $daysSinceLastOrder = $request->getDaysSinceLastOrder();
     if ($daysSinceLastOrder === false) {
         $daysSinceLastOrder = 0;
     }
     return $daysSinceLastOrder;
 }

作者:a4tunad    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     $resolution = $request->getParam('res');
     if (!empty($resolution)) {
         return substr($resolution, 0, 9);
     }
     return $resolution;
 }

作者:KingNoos    项目:Tekni   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  *
  * @return mixed|false
  */
 public function onExistingVisit(Request $request, Visitor $visitor, $action)
 {
     $forcedUserId = $request->getForcedUserId();
     if ($forcedUserId) {
         return $forcedUserId;
     }
     return false;
 }

作者:ruchitram    项目:plugin-QueuedTrackin   
public function trackRequest(Request $request)
 {
     $allParams = $request->getRawParams();
     if (!empty($allParams['forceThrow'])) {
         throw new ForcedException("forced exception");
     }
     return parent::trackRequest($request);
 }

作者:cem    项目:piwi   
public function onLookupAction(Request $request, Action $action)
 {
     $contentTarget = $request->getParam('c_t');
     $contentTarget = trim($contentTarget);
     if (strlen($contentTarget) > 0) {
         return $contentTarget;
     }
     return false;
 }

作者:piwi    项目:piwi   
/**
  * @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();
 }

作者:MichalKrakiewic    项目:HourParit   
/**
  * The onNewVisit method is triggered when a new visitor is detected. This means here you can define an initial
  * value for this user. By returning boolean false no value will be saved. Once the user makes another action the
  * event "onExistingVisit" is executed. That means for each visitor this method is executed once. If you do not want
  * to perform any action on a new visit you can just remove this method.
  *
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed|false
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     $localDate = \DateTime::CreateFromFormat("H:i:s", $request->getLocalTime());
     $isOddHour = HourParity\isOddHour($localDate);
     if ($isOddHour) {
         return 1;
     }
     return 0;
 }

作者:piwi    项目:piwi   
/**
  * @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';
 }

作者:jos    项目:CGE-File-Sharin   
private function getIpAddress($anonymizedIp, \Piwik\Tracker\Request $request)
 {
     $privacyConfig = new PrivacyManagerConfig();
     $ip = $request->getIp();
     if ($privacyConfig->useAnonymizedIpForVisitEnrichment) {
         $ip = $anonymizedIp;
     }
     $ipAddress = IP::N2P($ip);
     return $ipAddress;
 }

作者:a4tunad    项目:piwi   
/**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function onNewVisit(Request $request, Visitor $visitor, $action)
 {
     $referrerUrl = $request->getParam('urlref');
     $currentUrl = $request->getParam('url');
     $information = $this->getReferrerInformation($referrerUrl, $currentUrl, $request->getIdSite());
     if (!empty($information['referer_keyword'])) {
         return substr($information['referer_keyword'], 0, 255);
     }
     return $information['referer_keyword'];
 }


问题


面经


文章

微信
公众号

扫码关注公众号