diff --git a/src/Plugin/WebformHandler/FormProcessorWebformHandler.php b/src/Plugin/WebformHandler/FormProcessorWebformHandler.php index 7d9663bc93807ae91a587775715e51263d5cebd1..4e03ca2a5bcb9d1553a85b512fbc294060dbf821 100644 --- a/src/Plugin/WebformHandler/FormProcessorWebformHandler.php +++ b/src/Plugin/WebformHandler/FormProcessorWebformHandler.php @@ -349,13 +349,18 @@ class FormProcessorWebformHandler extends WebformHandlerBase { } } + /** - * {@inheritdoc} + * @param \Drupal\webform\WebformSubmissionInterface $webform_submission + * @param $update + * @param $extraParams array used for example to add the results of a payment provider. + * + * @return void */ - public function postSave(WebformSubmissionInterface $webform_submission, $update = TRUE, $params = []) { + public function postSave(WebformSubmissionInterface $webform_submission, $update = TRUE, $extraParams = []) { $state = $webform_submission->getWebform()->getSetting('results_disabled') ? WebformSubmissionInterface::STATE_COMPLETED : $webform_submission->getState(); if ($this->configuration['states'] && in_array($state, $this->configuration['states'])) { - $this->sendToCiviCRM($webform_submission); + $this->sendToCiviCRM($webform_submission ,$extraParams); } } @@ -368,10 +373,14 @@ class FormProcessorWebformHandler extends WebformHandlerBase { } } + /** * @param \Drupal\webform\WebformSubmissionInterface $webform_submission + * @param $extraParams array used for example to add the results of a payment provider. + * + * @return void */ - private function sendToCiviCRM(WebformSubmissionInterface $webform_submission) { + private function sendToCiviCRM(WebformSubmissionInterface $webform_submission, $extraParams = []) { $data = $webform_submission->getData(); $fields = $this->formProcessorFields($this->configuration['connection'], $this->configuration['form_processor']); foreach ($fields as $key => $field) { @@ -398,6 +407,7 @@ class FormProcessorWebformHandler extends WebformHandlerBase { if ($this->configuration['form_processor_current_contact']) { $params[$this->configuration['form_processor_current_contact']] = $this->getContactId(); } + $params = array_merge($params,$extraParams); $call = $this->core->createCall( $this->configuration['connection'], 'FormProcessor',