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:
-rw-r--r--core/Tracker/RequestProcessor.php2
-rw-r--r--core/Tracker/Visit.php12
-rw-r--r--plugins/Goals/Tracker/GoalsRequestProcessor.php15
3 files changed, 16 insertions, 13 deletions
diff --git a/core/Tracker/RequestProcessor.php b/core/Tracker/RequestProcessor.php
index 0c8f2b02b0..3380dbe80d 100644
--- a/core/Tracker/RequestProcessor.php
+++ b/core/Tracker/RequestProcessor.php
@@ -52,7 +52,7 @@ abstract class RequestProcessor
/**
* TODO
*/
- public function processRequest(VisitProperties $visitProperties)
+ public function processRequest(Visitor $visitor, VisitProperties $visitProperties)
{
// empty
}
diff --git a/core/Tracker/Visit.php b/core/Tracker/Visit.php
index 0a5a2f0425..fb3c4ee4c7 100644
--- a/core/Tracker/Visit.php
+++ b/core/Tracker/Visit.php
@@ -185,17 +185,7 @@ class Visit implements VisitInterface
$this->request->setThirdPartyCookie($this->visitProperties->visitorInfo['idvisitor']);
foreach ($this->requestProcessors as $processor) {
- $processor->processRequest($this->visitProperties);
- }
-
- // record the goals if applicable
- if ($this->visitProperties->getRequestMetadata('Goals', 'someGoalsConverted')) {
- $goalManager->recordGoals(
- $visitor,
- $this->visitProperties->visitorInfo,
- $this->visitProperties->getRequestMetadata('CustomVariables', 'visitCustomVariables'),
- $action
- );
+ $processor->processRequest($visitor, $this->visitProperties);
}
unset($action);
diff --git a/plugins/Goals/Tracker/GoalsRequestProcessor.php b/plugins/Goals/Tracker/GoalsRequestProcessor.php
index 2bde947928..5e8132d2d3 100644
--- a/plugins/Goals/Tracker/GoalsRequestProcessor.php
+++ b/plugins/Goals/Tracker/GoalsRequestProcessor.php
@@ -14,6 +14,7 @@ use Piwik\Tracker\GoalManager;
use Piwik\Tracker\Request;
use Piwik\Tracker\RequestProcessor;
use Piwik\Tracker\Visit\VisitProperties;
+use Piwik\Tracker\Visitor;
/**
* TODO
@@ -71,7 +72,7 @@ class GoalsRequestProcessor extends RequestProcessor
}
}
- public function processRequest(VisitProperties $visitProperties)
+ public function processRequest(Visitor $visitor, VisitProperties $visitProperties)
{
$isManualGoalConversion = self::$goalManager->isManualGoalConversion();
$requestIsEcommerce = self::$goalManager->requestIsEcommerce;
@@ -91,5 +92,17 @@ class GoalsRequestProcessor extends RequestProcessor
$visitProperties->setRequestMetadata('Goals', 'someGoalsConverted', false);
$visitProperties->setRequestMetadata('Goals', 'visitIsConverted', false);
}
+
+ // record the goals if there were conversions in this request (even if the visit itself was not converted)
+ if ($visitProperties->getRequestMetadata('Goals', 'someGoalsConverted')) {
+ $action = $visitProperties->getRequestMetadata('Actions', 'action');
+
+ self::$goalManager->recordGoals(
+ $visitor,
+ $visitProperties->visitorInfo,
+ $visitProperties->getRequestMetadata('CustomVariables', 'visitCustomVariables'),
+ $action
+ );
+ }
}
}