original_string: public function recordGoals(VisitProperties $visitProperties, Request $request)
      {
          $visitorInformation = $visitProperties->getProperties();
          $visitCustomVariables = $request->getMetadata('CustomVariables', 'visitCustomVariables') ?: array();
  
          /** @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::getNumUsableCustomVariables();
  
          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);
          }
      }
code: public function recordGoals(VisitProperties $visitProperties, Request $request)
      {
          $visitorInformation = $visitProperties->getProperties();
          $visitCustomVariables = $request->getMetadata('CustomVariables', 'visitCustomVariables') ?: array();
  
          /** @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::getNumUsableCustomVariables();
  
          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);
          }
      }
code_tokens: public function recordGoals ( VisitProperties $ visitProperties , Request $ request ) { $ visitorInformation = $ visitProperties -> getProperties ( ) ; $ visitCustomVariables = $ request -> getMetadata ( 'CustomVariables' , 'visitCustomVariables' ) ? : array ( ) ; /** @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 :: getNumUsableCustomVariables ( ) ; 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 ) ; } }
docstring: Records one or several goals matched in this request.
  
  @param Visitor $visitor
  @param array $visitorInformation
  @param array $visitCustomVariables
  @param Action $action
docstring_tokens: Records one or several goals matched in this request .