return array(CONTROLLER_STATUS_REDIRECT, 'checkout.checkout?' . http_build_query($redirect_params)); } if ($mode == 'place_order') { if (!empty($_REQUEST['update_steps'])) { $_REQUEST['update_step'] = 'step_four'; fn_checkout_update_steps($cart, $auth, $_REQUEST); } $status = fn_checkout_place_order($cart, $auth, $_REQUEST); if ($status == PLACE_ORDER_STATUS_TO_CART) { return array(CONTROLLER_STATUS_REDIRECT, 'checkout.cart'); } elseif ($status == PLACE_ORDER_STATUS_DENIED) { return array(CONTROLLER_STATUS_DENIED); } } if ($mode == 'update_steps') { $redirect_params = fn_checkout_update_steps($cart, $auth, $_REQUEST); return array(CONTROLLER_STATUS_REDIRECT, 'checkout.checkout?' . http_build_query($redirect_params)); } if ($mode == 'create_profile') { if (!empty($_REQUEST['order_id']) && !empty($auth['order_ids']) && in_array($_REQUEST['order_id'], $auth['order_ids'])) { $order_info = fn_get_order_info($_REQUEST['order_id']); $user_data = $_REQUEST['user_data']; fn_fill_user_fields($user_data); foreach ($user_data as $k => $v) { if (isset($order_info[$k])) { $user_data[$k] = $order_info[$k]; } } if ($res = fn_update_user(0, $user_data, $auth, true, true)) { list($user_id) = $res; fn_login_user($user_id);
if ($redirect_params['edit_step'] == 'step_three' && !$display_steps['step_three']) { $redirect_params['edit_step'] = 'step_two'; } } return array(CONTROLLER_STATUS_REDIRECT, 'checkout.checkout?' . http_build_query($redirect_params)); } } $status = fn_checkout_place_order($cart, $auth, $_REQUEST); if ($status == PLACE_ORDER_STATUS_TO_CART) { return array(CONTROLLER_STATUS_REDIRECT, 'checkout.cart'); } elseif ($status == PLACE_ORDER_STATUS_DENIED) { return array(CONTROLLER_STATUS_DENIED); } } if ($mode == 'update_steps') { list($status, $redirect_params) = fn_checkout_update_steps($cart, $auth, $_REQUEST); return array(CONTROLLER_STATUS_REDIRECT, 'checkout.checkout?' . http_build_query($redirect_params)); } if ($mode == 'create_profile') { if (!empty($_REQUEST['order_id']) && !empty($auth['order_ids']) && in_array($_REQUEST['order_id'], $auth['order_ids'])) { $order_info = fn_get_order_info($_REQUEST['order_id']); $user_data = $_REQUEST['user_data']; fn_fill_user_fields($user_data); foreach ($user_data as $k => $v) { if (isset($order_info[$k])) { $user_data[$k] = $order_info[$k]; } } if ($res = fn_update_user(0, $user_data, $auth, true, true)) { list($user_id) = $res; fn_login_user($user_id, true);