Esempio n. 1
0
/**
 * 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;
}
Esempio n. 2
0
/**
 * 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;
}