Piwik\Tracker\GoalManager::detectGoalId PHP Method

detectGoalId() public method

public detectGoalId ( $idSite, Request $request )
$request Request
    public function detectGoalId($idSite, Request $request)
    {
        if (!Common::isGoalPluginEnabled()) {
            return null;
        }
        $idGoal = $request->getParam('idgoal');
        $goals = $this->getGoalDefinitions($idSite);
        if (!isset($goals[$idGoal])) {
            return null;
        }
        $goal = $goals[$idGoal];
        $url = $request->getParam('url');
        $goal['url'] = PageUrl::excludeQueryParametersFromUrl($url, $idSite);
        return $goal;
    }

Usage Example

コード例 #1
0
 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;
 }
All Usage Examples Of Piwik\Tracker\GoalManager::detectGoalId