Exemple #1
0
 /**
  * Checks if delivery address (billing or shipping) was not changed during checkout
  * Throws exception if not available
  *
  * @param oxUser $oUser user object
  *
  * @return int
  */
 public function validateDeliveryAddress($oUser)
 {
     $sDelAddressMD5 = $this->getConfig()->getRequestParameter('sDeliveryAddressMD5');
     $sDeliveryAddress = $oUser->getEncodedDeliveryAddress();
     /** @var oxRequiredAddressFields $oRequiredAddressFields */
     $oRequiredAddressFields = oxNew('oxRequiredAddressFields');
     /** @var oxRequiredFieldsValidator $oFieldsValidator */
     $oFieldsValidator = oxNew('oxRequiredFieldsValidator');
     $oFieldsValidator->setRequiredFields($oRequiredAddressFields->getBillingFields());
     $blFieldsValid = $oFieldsValidator->validateFields($oUser);
     /** @var oxAddress $oDeliveryAddress */
     $oDeliveryAddress = $this->getDelAddressInfo();
     if ($blFieldsValid && $oDeliveryAddress) {
         $sDeliveryAddress .= $oDeliveryAddress->getEncodedDeliveryAddress();
         $oFieldsValidator->setRequiredFields($oRequiredAddressFields->getDeliveryFields());
         $blFieldsValid = $oFieldsValidator->validateFields($oDeliveryAddress);
     }
     $iState = 0;
     if ($sDelAddressMD5 != $sDeliveryAddress || !$blFieldsValid) {
         $iState = self::ORDER_STATE_INVALIDDElADDRESSCHANGED;
     }
     return $iState;
 }