getParam() public method

public getParam ( $name )
Example #1
0
 /**
  * @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'];
 }
Example #2
0
 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);
 }
Example #3
0
 /**
  * @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'];
 }
Example #4
0
 protected function getNewVisitorInformation($action)
 {
     $actionType = $idActionName = $idActionUrl = false;
     if ($action) {
         $idActionUrl = $action->getIdActionUrlForEntryAndExitIds();
         $idActionName = $action->getIdActionNameForEntryAndExitIds();
         $actionType = $action->getActionType();
     }
     $daysSinceFirstVisit = $this->request->getDaysSinceFirstVisit();
     $visitCount = $this->request->getVisitCount();
     $daysSinceLastVisit = $this->request->getDaysSinceLastVisit();
     $daysSinceLastOrder = $this->request->getDaysSinceLastOrder();
     $isReturningCustomer = $daysSinceLastOrder !== false;
     if ($daysSinceLastOrder === false) {
         $daysSinceLastOrder = 0;
     }
     // User settings
     $userInfo = $this->getSettingsObject();
     $userInfo = $userInfo->getInfo();
     // Referrer data
     $referrer = new Referrer();
     $referrerUrl = $this->request->getParam('urlref');
     $currentUrl = $this->request->getParam('url');
     $referrerInfo = $referrer->getReferrerInformation($referrerUrl, $currentUrl, $this->request->getIdSite());
     $visitorReturning = $isReturningCustomer ? 2 : ($visitCount > 1 || $this->isVisitorKnown() || $daysSinceLastVisit > 0 ? 1 : 0);
     $defaultTimeOnePageVisit = Config::getInstance()->Tracker['default_time_one_page_visit'];
     return array('idsite' => $this->request->getIdSite(), 'visitor_localtime' => $this->request->getLocalTime(), 'idvisitor' => $this->getVisitorIdcookie(), 'visitor_returning' => $visitorReturning, 'visitor_count_visits' => $visitCount, 'visitor_days_since_last' => $daysSinceLastVisit, 'visitor_days_since_order' => $daysSinceLastOrder, 'visitor_days_since_first' => $daysSinceFirstVisit, 'visit_first_action_time' => Tracker::getDatetimeFromTimestamp($this->request->getCurrentTimestamp()), 'visit_last_action_time' => Tracker::getDatetimeFromTimestamp($this->request->getCurrentTimestamp()), 'visit_entry_idaction_url' => (int) $idActionUrl, 'visit_entry_idaction_name' => (int) $idActionName, 'visit_exit_idaction_url' => (int) $idActionUrl, 'visit_exit_idaction_name' => (int) $idActionName, 'visit_total_actions' => in_array($actionType, array(Action::TYPE_PAGE_URL, Action::TYPE_DOWNLOAD, Action::TYPE_OUTLINK, Action::TYPE_SITE_SEARCH, Action::TYPE_EVENT)) ? 1 : 0, 'visit_total_searches' => $actionType == Action::TYPE_SITE_SEARCH ? 1 : 0, 'visit_total_events' => $actionType == Action::TYPE_EVENT ? 1 : 0, 'visit_total_time' => self::cleanupVisitTotalTime($defaultTimeOnePageVisit), 'visit_goal_buyer' => $this->goalManager->getBuyerType(), 'referer_type' => $referrerInfo['referer_type'], 'referer_name' => $referrerInfo['referer_name'], 'referer_url' => $referrerInfo['referer_url'], 'referer_keyword' => $referrerInfo['referer_keyword'], 'config_id' => $userInfo['config_id'], 'config_os' => $userInfo['config_os'], 'config_browser_name' => $userInfo['config_browser_name'], 'config_browser_version' => $userInfo['config_browser_version'], 'config_resolution' => $userInfo['config_resolution'], 'config_pdf' => $userInfo['config_pdf'], 'config_flash' => $userInfo['config_flash'], 'config_java' => $userInfo['config_java'], 'config_director' => $userInfo['config_director'], 'config_quicktime' => $userInfo['config_quicktime'], 'config_realplayer' => $userInfo['config_realplayer'], 'config_windowsmedia' => $userInfo['config_windowsmedia'], 'config_gears' => $userInfo['config_gears'], 'config_silverlight' => $userInfo['config_silverlight'], 'config_cookie' => $userInfo['config_cookie'], 'location_ip' => $this->getVisitorIp(), 'location_browser_lang' => $userInfo['location_browser_lang']);
 }
Example #5
0
 /**
  * @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;
 }
Example #6
0
 /**
  * @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);
 }
Example #7
0
 /**
  * @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;
 }
Example #8
0
 public function onLookupAction(Request $request, Action $action)
 {
     $contentTarget = $request->getParam('c_t');
     $contentTarget = trim($contentTarget);
     if (strlen($contentTarget) > 0) {
         return $contentTarget;
     }
     return false;
 }
 private function getValueForDimension(Request $request)
 {
     /** @var Action $action */
     $action = $request->getMetadata('Actions', 'action');
     if (in_array($this->dimension, array('url', 'urlparam'))) {
         if (!empty($action)) {
             $dimension = $action->getActionUrlRaw();
         } else {
             $dimension = $request->getParam('url');
         }
     } elseif ($this->dimension === 'action_name' && !empty($action)) {
         $dimension = $action->getActionName();
     } else {
         $dimension = $request->getParam($this->dimension);
     }
     if (!empty($dimension)) {
         $dimension = Common::unsanitizeInputValue($dimension);
     }
     return $dimension;
 }
Example #10
0
 public function onLookupAction(Request $request, Action $action)
 {
     $contentPiece = $request->getParam('c_p');
     if (empty($contentPiece)) {
         return false;
     }
     $contentPiece = trim($contentPiece);
     if (strlen($contentPiece) > 0) {
         return $contentPiece;
     }
     return false;
 }
Example #11
0
 public function onLookupAction(Request $request, Action $action)
 {
     if (!$action instanceof ActionEvent) {
         return false;
     }
     $eventAction = $request->getParam('e_a');
     $eventAction = trim($eventAction);
     if (strlen($eventAction) > 0) {
         return $eventAction;
     }
     return false;
 }
Example #12
0
 /**
  * Check if the request is from a known spammer host.
  *
  * @param Request $request
  * @return bool
  */
 public function isSpam(Request $request)
 {
     $spammers = $this->getSpammerListFromCache();
     $referrerUrl = $request->getParam('urlref');
     foreach ($spammers as $spammerHost) {
         if (stripos($referrerUrl, $spammerHost) !== false) {
             Common::printDebug('Referrer URL is a known spam: ' . $spammerHost);
             return true;
         }
     }
     return false;
 }
 public function onLookupAction(Request $request, Action $action)
 {
     $interaction = $request->getParam('c_i');
     if (empty($interaction)) {
         return false;
     }
     $interaction = trim($interaction);
     if (strlen($interaction) > 0) {
         return $interaction;
     }
     return false;
 }
Example #14
0
 /**
  * Makes the correct Action object based on the request.
  *
  * @param Request $request
  * @return ActionClickUrl|ActionPageview|ActionSiteSearch
  */
 public static function factory(Request $request)
 {
     $downloadUrl = $request->getParam('download');
     if (!empty($downloadUrl)) {
         return new ActionClickUrl(self::TYPE_DOWNLOAD, $downloadUrl, $request);
     }
     $outlinkUrl = $request->getParam('link');
     if (!empty($outlinkUrl)) {
         return new ActionClickUrl(self::TYPE_OUTLINK, $outlinkUrl, $request);
     }
     $url = $request->getParam('url');
     $eventCategory = $request->getParam('e_c');
     $eventAction = $request->getParam('e_a');
     if (strlen($eventCategory) > 0 && strlen($eventAction) > 0) {
         return new ActionEvent($eventCategory, $eventAction, $url, $request);
     }
     $action = new ActionSiteSearch($url, $request);
     if ($action->isSearchDetected()) {
         return $action;
     }
     return new ActionPageview($url, $request);
 }
Example #15
0
 /**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return int
  */
 public function onConvertedVisit(Request $request, Visitor $visitor, $action)
 {
     if (!$visitor->isVisitorKnown()) {
         return false;
     }
     $totalTime = $visitor->getVisitorColumn('visit_total_time');
     // If a pageview and goal conversion in the same second, with previously a goal conversion recorded
     // the request would not "update" the row since all values are the same as previous
     // therefore the request below throws exception, instead we make sure the UPDATE will affect the row
     $totalTime = $totalTime + $request->getParam('idgoal');
     // +2 to offset idgoal=-1 and idgoal=0
     $totalTime = $totalTime + 2;
     return $this->cleanupVisitTotalTime($totalTime);
 }
Example #16
0
 /**
  * Returns Items read from the request string
  * @return array|bool
  */
 private function getEcommerceItemsFromRequest()
 {
     $items = Common::unsanitizeInputValue($this->request->getParam('ec_items'));
     if (empty($items)) {
         Common::printDebug("There are no Ecommerce items in the request");
         // we still record an Ecommerce order without any item in it
         return array();
     }
     $items = Common::json_decode($items, $assoc = true);
     if (!is_array($items)) {
         Common::printDebug("Error while json_decode the Ecommerce items = " . var_export($items, true));
         return false;
     }
     $cleanedItems = $this->getCleanedEcommerceItems($items);
     return $cleanedItems;
 }
Example #17
0
 /**
  * Returns the campaign information, called from the child classes
  * @param  Request $request 
  * @return array           
  */
 protected function getCampaignInformationFromRequest(Request $request)
 {
     $currentUrl = $request->getParam('url');
     return $this->getCampaignInformation($currentUrl, $request->getIdSite(), $request);
 }
 private function isRequestEcommerce(Request $request)
 {
     $idGoal = $request->getParam('idgoal');
     return 0 == $idGoal;
 }
Example #19
0
 protected function loadTrackerPlugins(Request $request)
 {
     // Adding &dp=1 will disable the provider plugin, if token_auth is used (used to speed up bulk imports)
     $disableProvider = $request->getParam('dp');
     if (!empty($disableProvider)) {
         Tracker::setPluginsNotToLoad(array('Provider'));
     }
     try {
         $pluginsTracker = \Piwik\Plugin\Manager::getInstance()->loadTrackerPlugins();
         Common::printDebug("Loading plugins: { " . implode(", ", $pluginsTracker) . " }");
     } catch (Exception $e) {
         Common::printDebug("ERROR: " . $e->getMessage());
     }
 }
 public static function shouldHandle(Request $request)
 {
     $downloadUrl = $request->getParam('download');
     return !empty($downloadUrl);
 }
Example #21
0
 public static function shouldHandle(Request $request)
 {
     $search = new self($request, false);
     return $search->detectSiteSearch($request->getParam('url'));
 }
Example #22
0
 /**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @return mixed
  */
 public function getValueForRecordGoal(Request $request, Visitor $visitor)
 {
     $referrerTimestamp = $request->getParam('_refts');
     $referrerUrl = $request->getParam('_ref');
     $referrerCampaignName = trim(urldecode($request->getParam('_rcn')));
     $referrerCampaignKeyword = trim(urldecode($request->getParam('_rck')));
     // Attributing the correct Referrer to this conversion.
     // Priority order is as follows:
     // 0) In some cases, the campaign is not passed from the JS so we look it up from the current visit
     // 1) Campaign name/kwd parsed in the JS
     // 2) Referrer URL stored in the _ref cookie
     // 3) If no info from the cookie, attribute to the current visit referrer
     Common::printDebug("Attributing a referrer to this Goal...");
     // 3) Default values: current referrer
     $type = $visitor->getVisitorColumn('referer_type');
     $name = $visitor->getVisitorColumn('referer_name');
     $keyword = $visitor->getVisitorColumn('referer_keyword');
     // 0) In some (unknown!?) cases the campaign is not found in the attribution cookie, but the URL ref was found.
     //    In this case we look up if the current visit is credited to a campaign and will credit this campaign rather than the URL ref (since campaigns have higher priority)
     if (empty($referrerCampaignName) && $type == Common::REFERRER_TYPE_CAMPAIGN && !empty($name)) {
         // Use default values per above
         Common::printDebug("Invalid Referrer information found: current visitor seems to have used a campaign, but campaign name was not found in the request.");
     } elseif (!empty($referrerCampaignName)) {
         $type = Common::REFERRER_TYPE_CAMPAIGN;
         $name = $referrerCampaignName;
         $keyword = $referrerCampaignKeyword;
         Common::printDebug("Campaign information from 1st party cookie is used.");
     } elseif (!empty($referrerUrl)) {
         $idSite = $request->getIdSite();
         $referrer = $this->getReferrerInformation($referrerUrl, $currentUrl = '', $idSite);
         // if the parsed referrer is interesting enough, ie. website or search engine
         if (in_array($referrer['referer_type'], array(Common::REFERRER_TYPE_SEARCH_ENGINE, Common::REFERRER_TYPE_WEBSITE))) {
             $type = $referrer['referer_type'];
             $name = $referrer['referer_name'];
             $keyword = $referrer['referer_keyword'];
             Common::printDebug("Referrer URL (search engine or website) is used.");
         } else {
             Common::printDebug("No referrer attribution found for this user. Current user's visit referrer is used.");
         }
     } else {
         Common::printDebug("No referrer attribution found for this user. Current user's visit referrer is used.");
     }
     $this->setCampaignValuesToLowercase($type, $name, $keyword);
     $fields = array('referer_type' => $type, 'referer_name' => $name, 'referer_keyword' => $keyword);
     if (array_key_exists($this->columnName, $fields)) {
         return $fields[$this->columnName];
     }
     return false;
 }
Example #23
0
 /**
  * This method allows to set custom IP + server time + visitor ID, when using Tracking API.
  * These two attributes can be only set by the Super User (passing token_auth).
  */
 protected function handleTrackingApi(Request $request)
 {
     if (!$request->isAuthenticated()) {
         return;
     }
     // Custom IP to use for this visitor
     $customIp = $request->getParam('cip');
     if (!empty($customIp)) {
         $this->setForceIp($customIp);
     }
     // Custom server date time to use
     $customDatetime = $request->getParam('cdt');
     if (!empty($customDatetime)) {
         $this->setForceDateTime($customDatetime);
     }
 }
Example #24
0
 private function isPingRequest()
 {
     return $this->request->getParam('ping') == 1;
 }
Example #25
0
 /**
  * @param Request $request
  * @param Visitor $visitor
  * @param Action|null $action
  * @param GoalManager $goalManager
  *
  * @return mixed|false
  */
 public function onEcommerceOrderConversion(Request $request, Visitor $visitor, $action, GoalManager $goalManager)
 {
     return $this->roundRevenueIfNeeded($request->getParam('ec_sh'));
 }
Example #26
0
 public static function shouldHandle(Request $request)
 {
     $eventCategory = $request->getParam('e_c');
     $eventAction = $request->getParam('e_a');
     return strlen($eventCategory) > 0 && strlen($eventAction) > 0;
 }
Example #27
0
 protected function getReferrerCampaignQueryParam(Request $request, $paramName)
 {
     return trim(urldecode($request->getParam($paramName)));
 }
Example #28
0
 public static function shouldHandle(Request $request)
 {
     $outlinkUrl = $request->getParam('link');
     return !empty($outlinkUrl);
 }
 private function isManualGoalConversion(Request $request)
 {
     $idGoal = $request->getParam('idgoal');
     return $idGoal > 0;
 }
Example #30
0
 public static function shouldHandle(Request $request)
 {
     $name = $request->getParam('c_n');
     return !empty($name);
 }