/** * Create HTML form with payment data and submit it. * * @param string $submit_url URL to send payment data * @param array $data Payment data to be submitted * @param string $payment_name Payment name to be displayed duron form submitting * @param boolean $exclude_empty_values Define that payment data elements with empty values should be excluded from payment form * @param string $method form submit method (get/post) */ function fn_create_payment_form($submit_url, $data, $payment_name = '', $exclude_empty_values = true, $method = 'post', $parse_url = true, $target = 'form') { Embedded::leave(); if (Embedded::isEnabled()) { list($submit_url, $data, $method, $payment_name) = Embedded::processPaymentForm($submit_url, $data, $payment_name, $exclude_empty_values, $method); } if ($parse_url) { $parsed_url = parse_url($submit_url); if (!empty($parsed_url['query'])) { $_data = array(); parse_str($parsed_url['query'], $_data); $data = fn_array_merge($data, $_data); $submit_url = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $parsed_url['path']; } } echo <<<EOT <form method="{$method}" action="{$submit_url}" name="process"> EOT; foreach ($data as $name => $value) { if (!empty($value) || empty($value) && $exclude_empty_values === false) { echo '<input type="hidden" name="' . htmlentities($name, ENT_QUOTES, 'UTF-8') . '" value="' . htmlentities($value, ENT_QUOTES, 'UTF-8') . '" />' . "\n"; } } if (!empty($payment_name)) { echo __('text_cc_processor_connection', array('[processor]' => $payment_name)); } echo <<<EOT </form> <script type="text/javascript"> window.onload = function(){ EOT; if ($target == 'parent') { echo <<<EOT window.parent.location='{$submit_url}'; EOT; } elseif ($target == 'form') { echo <<<EOT document.process.submit(); EOT; } echo <<<EOT }; </script> </body> </html> EOT; exit; }
/** * Create HTML form with payment data and submit it. * * @param string $submit_url URL to send payment data * @param array $data Payment data to be submitted * @param string $payment_name Payment name to be displayed duron form submitting * @param boolean $exclude_empty_values Define that payment data elements with empty values should be excluded from payment form */ function fn_create_payment_form($submit_url, $data, $payment_name = '', $exclude_empty_values = true, $method = 'post') { Embedded::leave(); $parsed_url = parse_url($submit_url); if (!empty($parsed_url['query'])) { $_data = array(); parse_str($parsed_url['query'], $_data); $data = fn_array_merge($data, $_data); $submit_url = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $parsed_url['path']; } echo <<<EOT <form method="{$method}" action="{$submit_url}" name="process"> EOT; foreach ($data as $name => $value) { if (!empty($value) || empty($value) && $exclude_empty_values === false) { echo '<input type="hidden" name="' . htmlentities($name) . '" value="' . htmlentities($value) . '" />' . "\n"; } } $msg = __('text_cc_processor_connection', array('[processor]' => $payment_name)); echo <<<EOT </form> <script type="text/javascript"> window.onload = function(){ document.process.submit(); }; </script> </body> </html> EOT; exit; }