コード例 #1
0
ファイル: checkout.php プロジェクト: askzap/ultimate
        if (!empty($order_info['is_parent_order']) && $order_info['is_parent_order'] == 'Y') {
            $order_info['child_ids'] = implode(',', db_get_fields("SELECT order_id FROM ?:orders WHERE parent_order_id = ?i", $_REQUEST['order_id']));
        }
        if (!empty($order_info)) {
            Tygh::$app['view']->assign('order_info', $order_info);
        }
    }
    fn_add_breadcrumb(__('landing_header'));
} elseif ($mode == 'process_payment') {
    if (fn_allow_place_order($cart, $auth) == true) {
        $order_info = $cart;
        $order_info['products'] = $cart['products'];
        $order_info = fn_array_merge($order_info, $cart['user_data']);
        $order_info['order_id'] = $order_id = TIME . "_" . (!empty($auth['user_id']) ? $auth['user_id'] : 0);
        unset($order_info['user_data']);
        list($is_processor_script, $processor_data) = fn_check_processor_script($order_info['payment_id']);
        if ($is_processor_script) {
            set_time_limit(300);
            fn_define('IFRAME_MODE', true);
            include Registry::get('config.dir.payments') . $processor_data['processor_script'];
            fn_finish_payment($order_id, $pp_response, array());
            fn_order_placement_routines('route', $order_id);
        }
    }
}
if (fn_cart_is_empty($cart) && !isset($force_redirection) && !in_array($mode, array('clear', 'delete', 'cart', 'update', 'apply_coupon', 'shipping_estimation', 'update_shipping', 'complete'))) {
    fn_set_notification('W', __('cart_is_empty'), __('cannot_proccess_checkout', 'K', 'cannot_proccess_checkout'));
    return array(CONTROLLER_STATUS_REDIRECT, 'checkout.cart');
}
if (!empty($profile_fields)) {
    Tygh::$app['view']->assign('profile_fields', $profile_fields);
コード例 #2
0
ファイル: fn.cart.php プロジェクト: diedsmiling/busenika
/**
 * Order payment processing
 *
 * @param array $payment payment data
 * @param int $order_id order ID
 * @param bool $force_notification force user notification (true - notify, false - do not notify, order status properties will be skipped)
 */
function fn_start_payment($order_id, $force_notification = array())
{
    $order_info = fn_get_order_info($order_id);
    list($is_processor_script, $processor_data) = fn_check_processor_script($order_info['payment_id'], '');
    if ($is_processor_script) {
        set_time_limit(300);
        $idata = array('order_id' => $order_id, 'type' => 'S', 'data' => TIME);
        db_query("REPLACE INTO ?:order_data ?e", $idata);
        $index_script = INDEX_SCRIPT;
        $mode = MODE;
        include DIR_PAYMENT_FILES . $processor_data['processor_script'];
        return fn_finish_payment($order_id, $pp_response, $force_notification);
    }
    return false;
}
コード例 #3
0
ファイル: fn.cart.php プロジェクト: heg-arc-ne/cscart
/**
 * Order payment processing
 *
 * @param array $payment payment data
 * @param int $order_id order ID
 * @param bool $force_notification force user notification (true - notify, false - do not notify, order status properties will be skipped)
 * @return bool True on success, false otherwise
 */
function fn_start_payment($order_id, $force_notification = array(), $payment_info = array())
{
    $order_info = fn_get_order_info($order_id);
    if (!empty($order_info['payment_info']) && !empty($payment_info)) {
        $order_info['payment_info'] = $payment_info;
    }
    list($is_processor_script, $processor_data) = fn_check_processor_script($order_info['payment_id']);
    if ($is_processor_script) {
        set_time_limit(300);
        $idata = array('order_id' => $order_id, 'type' => 'S', 'data' => TIME);
        db_query("REPLACE INTO ?:order_data ?e", $idata);
        $mode = Registry::get('runtime.mode');
        Embedded::leave();
        include fn_get_processor_script_path($processor_data['processor_script']);
        return fn_finish_payment($order_id, $pp_response, $force_notification);
    }
    return false;
}
コード例 #4
0
ファイル: func.php プロジェクト: OneataBogdan/lead_coriolan
/**
 * Copy of the fn_start_payment - to change MODE to place_order
 *
 * @param array $payment payment data
 * @param int $order_id order ID
 * @param bool $force_notification force user notification
 *              (true - notify, false - do not notify, order status properties will be skipped)
 */
function fn_twg_start_payment($order_id, $force_notification = array(), $payment_info)
{
    $order_info = fn_get_order_info($order_id);
    if (!empty($order_info['payment_info']) && !empty($payment_info)) {
        $order_info['payment_info'] = $payment_info;
    }
    list($is_processor_script, $processor_data) = fn_check_processor_script($order_info['payment_id'], '');
    if ($is_processor_script) {
        set_time_limit(300);
        $idata = array('order_id' => $order_id, 'type' => 'S', 'data' => TIME);
        db_query("REPLACE INTO ?:order_data ?e", $idata);
        $index_script = Registry::get('config.admin_index');
        $mode = 'place_order';
        // Change mode from 'post' to 'place_order'
        include Registry::get('config.dir.payments') . $processor_data['processor_script'];
        return fn_finish_payment($order_id, $pp_response, $force_notification);
    }
    return false;
}