Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Referrers/Columns/Website.php')
-rw-r--r--plugins/Referrers/Columns/Website.php41
1 files changed, 39 insertions, 2 deletions
diff --git a/plugins/Referrers/Columns/Website.php b/plugins/Referrers/Columns/Website.php
index 53b143d693..7d4903c902 100644
--- a/plugins/Referrers/Columns/Website.php
+++ b/plugins/Referrers/Columns/Website.php
@@ -8,13 +8,50 @@
*/
namespace Piwik\Plugins\Referrers\Columns;
-use Piwik\Columns\Dimension;
+use Piwik\Common;
use Piwik\Piwik;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+use Piwik\Tracker\TrackerConfig;
+use Piwik\Tracker\Visitor;
-class Website extends Dimension
+class Website extends Base
{
+ /**
+ * Set using the `[Tracker] tracker_create_new_visit_when_website_referrer_changes` INI config option.
+ * If true, will force new visits if the referrer website changes.
+ *
+ * @var bool
+ */
+ protected $createNewVisitWhenWebsiteReferrerChanges;
+
+ public function __construct()
+ {
+ $this->createNewVisitWhenWebsiteReferrerChanges = TrackerConfig::getConfigValue('tracker_create_new_visit_when_website_referrer_changes') == 1;
+ }
+
public function getName()
{
return Piwik::translate('General_Website');
}
+
+ public function shouldForceNewVisit(Request $request, Visitor $visitor, Action $action = null)
+ {
+ if (!$this->createNewVisitWhenWebsiteReferrerChanges) {
+ return false;
+ }
+
+ $information = $this->getReferrerInformationFromRequest($request);
+
+ if ($this->doesLastOrCurrentActionHaveSameReferrer($visitor, $information, Common::REFERRER_TYPE_WEBSITE)
+ && $this->hasReferrerInformationChanged($visitor, $information)
+ ) {
+ Common::printDebug("Existing visit detected, but creating new visit because website referrer information is different than last action.");
+
+ return true;
+ }
+
+ return false;
+
+ }
} \ No newline at end of file