public function onNewVisit(VisitProperties $visitProperties, Request $request)
 {
     $visitCustomVariables = $request->getMetadata('CustomVariables', 'visitCustomVariables');
     if (!empty($visitCustomVariables)) {
         $visitProperties->setProperties(array_merge($visitProperties->getProperties(), $visitCustomVariables));
     }
 }
Пример #2
0
 private function printVisitorInformation()
 {
     $debugVisitInfo = $this->visitProperties->getProperties();
     $debugVisitInfo['idvisitor'] = bin2hex($debugVisitInfo['idvisitor']);
     $debugVisitInfo['config_id'] = bin2hex($debugVisitInfo['config_id']);
     $debugVisitInfo['location_ip'] = IPUtils::binaryToStringIP($debugVisitInfo['location_ip']);
     Common::printDebug($debugVisitInfo);
 }
 public function afterRequestProcessed(VisitProperties $visitProperties, Request $request)
 {
     $goalsConverted = $request->getMetadata('Goals', 'goalsConverted');
     if (!empty($goalsConverted)) {
         $isThereExistingCartInVisit = $this->goalManager->detectIsThereExistingCartInVisit($visitProperties->getProperties());
         $request->setMetadata('Goals', 'isThereExistingCartInVisit', $isThereExistingCartInVisit);
     }
 }
Пример #4
0
 /**
  * Records one or several goals matched in this request.
  *
  * @param Visitor $visitor
  * @param array $visitorInformation
  * @param array $visitCustomVariables
  * @param Action $action
  */
 public function recordGoals(VisitProperties $visitProperties, Request $request)
 {
     $visitorInformation = $visitProperties->getProperties();
     $visitCustomVariables = $request->getMetadata('CustomVariables', 'visitCustomVariables');
     /** @var Action $action */
     $action = $request->getMetadata('Actions', 'action');
     $goal = $this->getGoalFromVisitor($visitProperties, $request, $action);
     // Copy Custom Variables from Visit row to the Goal conversion
     // Otherwise, set the Custom Variables found in the cookie sent with this request
     $goal += $visitCustomVariables;
     $maxCustomVariables = CustomVariables::getMaxCustomVariables();
     for ($i = 1; $i <= $maxCustomVariables; $i++) {
         if (isset($visitorInformation['custom_var_k' . $i]) && strlen($visitorInformation['custom_var_k' . $i])) {
             $goal['custom_var_k' . $i] = $visitorInformation['custom_var_k' . $i];
         }
         if (isset($visitorInformation['custom_var_v' . $i]) && strlen($visitorInformation['custom_var_v' . $i])) {
             $goal['custom_var_v' . $i] = $visitorInformation['custom_var_v' . $i];
         }
     }
     // some goals are converted, so must be ecommerce Order or Cart Update
     $isRequestEcommerce = $request->getMetadata('Ecommerce', 'isRequestEcommerce');
     if ($isRequestEcommerce) {
         $this->recordEcommerceGoal($visitProperties, $request, $goal, $action);
     } else {
         $this->recordStandardGoals($visitProperties, $request, $goal, $action);
     }
 }