public function processRequestParams(VisitProperties $visitProperties, Request $request)
{
$this->goalManager = new GoalManager();
if ($this->isManualGoalConversion($request)) {
// this request is from the JS call to piwikTracker.trackGoal()
$goal = $this->goalManager->detectGoalId($request->getIdSite(), $request);
$visitIsConverted = !empty($goal);
$request->setMetadata('Goals', 'visitIsConverted', $visitIsConverted);
$existingConvertedGoals = $request->getMetadata('Goals', 'goalsConverted') ?: array();
$request->setMetadata('Goals', 'goalsConverted', array_merge($existingConvertedGoals, array($goal)));
$request->setMetadata('Actions', 'action', null);
// don't track actions when doing manual goal conversions
// if we find a idgoal in the URL, but then the goal is not valid, this is most likely a fake request
if (!$visitIsConverted) {
$idGoal = $request->getParam('idgoal');
Common::printDebug('Invalid goal tracking request for goal id = ' . $idGoal);
return true;
}
}
return false;
}