Beispiel #1
0
function fn_gift_certificates_extract_cart(&$cart, &$user_id, &$type, &$user_type)
{
    if (!empty($user_id)) {
        $_cart_gift_cert = db_get_hash_array("SELECT * FROM ?:user_session_products WHERE user_id = ?i AND type = ?s AND item_type = 'G' AND user_type = ?s", 'item_id', $user_id, $type, $user_type);
        if (!empty($cart['gift_certificates']) && fn_allowed_for('MULTIVENDOR')) {
            foreach ($cart['products'] as $cart_id => $product) {
                if (empty($product['extra']['parent']['certificate'])) {
                    fn_delete_cart_product($cart, $cart_id);
                    fn_set_notification('W', 'Warning', __('gift_cert_with_products'));
                }
            }
        }
        if (!empty($_cart_gift_cert) && is_array($_cart_gift_cert)) {
            $other_products = false;
            foreach ($cart['products'] as $product) {
                if (empty($product['extra']['parent']['certificate'])) {
                    $other_products = true;
                    break;
                }
            }
            if (fn_allowed_for('MULTIVENDOR') && $other_products) {
                fn_set_notification('W', 'Warning', __('gift_cert_with_products'));
                foreach ($_cart_gift_cert as $_item_id => $_gift_cert) {
                    fn_delete_cart_gift_certificate($cart, $_item_id);
                }
            } else {
                $cart['gift_certificates'] = empty($cart['gift_certificates']) ? array() : $cart['gift_certificates'];
                foreach ($_cart_gift_cert as $_item_id => $_gift_cert) {
                    $_gift_cert_extra = unserialize($_gift_cert['extra']);
                    unset($_gift_cert['extra']);
                    $cart['gift_certificates'][$_item_id] = empty($cart['gift_certificates'][$_item_id]) ? fn_array_merge($_gift_cert, $_gift_cert_extra, true) : $cart['gift_certificates'][$_item_id];
                }
            }
        }
    }
}
        return array(CONTROLLER_STATUS_REDIRECT, 'wishlist.view');
    }
    if ($mode == 'update') {
        if (!empty($_REQUEST['gift_cert_data']) && !empty($_REQUEST['gift_cert_id']) && $_REQUEST['type'] == 'W') {
            fn_delete_wishlist_gift_certificate($wishlist, $_REQUEST['gift_cert_id']);
            list($gift_cert_id, $gift_cert) = fn_add_gift_certificate_to_wishlist($wishlist, $_REQUEST['gift_cert_data']);
            if (!empty($gift_cert_id)) {
                $wishlist['gift_certificates'][$gift_cert_id] = $gift_cert;
            }
            fn_save_cart_content($wishlist, $auth['user_id'], $_REQUEST['type']);
            return array(CONTROLLER_STATUS_REDIRECT, 'wishlist.view');
        }
    }
    if ($mode == 'wishlist_delete') {
        if (isset($_REQUEST['gift_cert_wishlist_id'])) {
            fn_delete_cart_gift_certificate($_SESSION['wishlist'], $_REQUEST['gift_cert_wishlist_id']);
        }
        return array(CONTROLLER_STATUS_REDIRECT, 'wishlist.view');
    }
}
if ($mode == 'update') {
    if (!empty($_REQUEST['gift_cert_wishlist_id'])) {
        $gift_cert_data = fn_get_gift_certificate_info($_REQUEST['gift_cert_wishlist_id'], 'W');
        if (!empty($gift_cert_data['extra']['exclude_from_calculate'])) {
            return array(CONTROLLER_STATUS_NO_PAGE);
        }
        Registry::get('view')->assign('gift_cert_data', $gift_cert_data);
        Registry::get('view')->assign('gift_cert_id', $_REQUEST['gift_cert_wishlist_id']);
        Registry::get('view')->assign('type', 'W');
    }
}
Beispiel #3
0
                $_SESSION['cart']['gift_certificates'][$gift_cert_id] = $gift_cert;
            }
            fn_save_cart_content($_SESSION['cart'], $auth['user_id'], $_REQUEST['type']);
        }
    }
    if ($mode == 'preview') {
        if (!empty($_REQUEST['gift_cert_data'])) {
            fn_correct_gift_certificate($_REQUEST['gift_cert_data']);
            fn_show_postal_card($_REQUEST['gift_cert_data']);
            exit;
        }
    }
    if ($mode == 'delete') {
        if (isset($_REQUEST['gift_cert_id'])) {
            $cart =& $_SESSION['cart'];
            fn_delete_cart_gift_certificate($cart, $_REQUEST['gift_cert_id']);
            if (fn_cart_is_empty($cart) == true) {
                fn_clear_cart($cart);
            }
            fn_save_cart_content($cart, $auth['user_id']);
            $cart['recalculate'] = true;
            fn_calculate_cart_content($cart, $auth, 'A', true, 'F', true);
            return array(CONTROLLER_STATUS_REDIRECT);
        }
    }
    return array(CONTROLLER_STATUS_OK, 'checkout.cart');
}
if ($mode == 'verify') {
    fn_add_breadcrumb(__('gift_certificate_verification'));
    $verify_id = db_get_field("SELECT gift_cert_id FROM ?:gift_certificates WHERE gift_cert_code = ?s ?p", $_REQUEST['verify_code'], fn_get_gift_certificate_company_condition('?:gift_certificates.company_id'));
    if (!empty($verify_id)) {
        return array(CONTROLLER_STATUS_REDIRECT, 'wishlist.view');
    }
    if ($mode == 'update') {
        if (!empty($_REQUEST['gift_cert_data']) && !empty($_REQUEST['gift_cert_id']) && $_REQUEST['type'] == 'W') {
            fn_delete_wishlist_gift_certificate($wishlist, $_REQUEST['gift_cert_id']);
            list($gift_cert_id, $gift_cert) = fn_add_gift_certificate_to_wishlist($wishlist, $_REQUEST['gift_cert_data']);
            if (!empty($gift_cert_id)) {
                $wishlist['gift_certificates'][$gift_cert_id] = $gift_cert;
            }
            fn_save_cart_content($wishlist, $auth['user_id'], $_REQUEST['type']);
            return array(CONTROLLER_STATUS_REDIRECT, 'wishlist.view');
        }
    }
    if ($mode == 'wishlist_delete') {
        if (isset($_REQUEST['gift_cert_wishlist_id'])) {
            fn_delete_cart_gift_certificate($wishlist, $_REQUEST['gift_cert_wishlist_id']);
            fn_save_cart_content($wishlist, $auth['user_id'], 'W');
        }
        return array(CONTROLLER_STATUS_REDIRECT, 'wishlist.view');
    }
}
if ($mode == 'update') {
    if (!empty($_REQUEST['gift_cert_wishlist_id'])) {
        $gift_cert_data = fn_get_gift_certificate_info($_REQUEST['gift_cert_wishlist_id'], 'W');
        if (!empty($gift_cert_data['extra']['exclude_from_calculate'])) {
            return array(CONTROLLER_STATUS_NO_PAGE);
        }
        Tygh::$app['view']->assign('gift_cert_data', $gift_cert_data);
        Tygh::$app['view']->assign('gift_cert_id', $_REQUEST['gift_cert_wishlist_id']);
        Tygh::$app['view']->assign('type', 'W');
    }