Ejemplo n.º 1
0
 /**
  * Checks outgoing data whether it contains all needed information.
  *
  * @param array $request
  */
 private function _processOutgoingData(&$request)
 {
     // Always send token
     $request[self::KEY_TOKEN] = $this->_token;
     // Always send Data array having at least something inside
     isset($request['Data']) || ($request['Data'] = array('dummy' => 1));
     if (isset($this->_actionMapping[$request['_action']])) {
         $actionMapping = $this->_actionMapping[$request['_action']];
     } else {
         $actionMapping = array('method' => ucfirst($request['_action']));
     }
     $request['Method'] = $actionMapping['method'];
     $paramsOut = isset($actionMapping['paramsOut']) ? $actionMapping['paramsOut'] : array();
     foreach ($paramsOut as $paramName) {
         if (empty($request['Data'][$paramName])) {
             switch ($paramName) {
                 case self::KEY_AGENT:
                     $value = $this->_integrator->getAgent();
                     break;
                 case self::KEY_VISITOR_ID:
                     $value = $this->_integrator->getVisitorId();
                     break;
                 case self::KEY_BUYER_ID:
                     $value = $this->_integrator->getBuyerId();
                     break;
                 case self::KEY_CART_ID:
                     $value = $this->_integrator->getCartId();
                     break;
                 case self::KEY_REDIRECT_ID:
                     $value = $this->_integrator->getRedirectId();
                     break;
                 case self::KEY_CART_URL:
                     $value = $this->_integrator->getCartUrl();
                     break;
                 case self::KEY_CONVERSION_ID:
                     $value = $this->_integrator->getСonversionId();
                     break;
                 default:
                     $value = null;
             }
             if ($value) {
                 $request['Data'][$paramName] = $value;
             }
         }
     }
 }