function ecwid_internal_construct_url($url_with_anchor, $additional_get_params)
{
    $request_uri = parse_url(ecwid_get_request_uri());
    $base_url = $request_uri['path'];
    // extract anchor
    $url_fragments = parse_url($url_with_anchor);
    $anchor = $url_fragments["fragment"];
    // get params
    $get_params = $_GET;
    unset($get_params["ecwid_category_id"]);
    unset($get_params["ecwid_product_id"]);
    $get_params = array_merge($get_params, $additional_get_params);
    // add GET parameters
    if (count($get_params) > 0) {
        $base_url .= "?";
        $is_first = true;
        foreach ($get_params as $key => $value) {
            if (!$is_first) {
                $base_url .= "&";
            }
            $base_url .= $key . "=" . $value;
            $is_first = false;
        }
    }
    // add url anchor (if needed)
    if ($anchor != "") {
        $base_url .= "#" . $anchor;
    }
    return $base_url;
}
function ecwid_internal_construct_url($url_with_anchor, $additional_get_params, $api)
{
    $request_uri = parse_url(ecwid_get_request_uri());
    $base_url = get_permalink(get_option("ecwid_store_page_id"));
    global $wp_query;
    // extract anchor
    $url_fragments = parse_url($url_with_anchor);
    $anchor = $url_fragments["fragment"];
    // get params
    $get_params = array('ecwid_category_id' => $wp_query->query_vars['ecwid_category_id'], 'ecwid_product_id' => $wp_query->query_vars['ecwid_category_id']);
    unset($get_params["ecwid_category_id"]);
    unset($get_params["ecwid_product_id"]);
    $get_params = array_merge($get_params, $additional_get_params);
    if (get_option('permalink_structure') != '') {
        $base_url = get_permalink(get_option("ecwid_store_page_id")) . '/';
        if (count($get_params) > 0) {
            if (isset($get_params['ecwid_product_id'])) {
                $base_url .= ecwid_convert_to_code(ecwid_get_smth_name_by_id($get_params['ecwid_product_id'], 'p')) . "-p-" . $get_params['ecwid_product_id'];
            } else {
                $base_url .= ecwid_convert_to_code(ecwid_get_smth_name_by_id($get_params['ecwid_category_id'], 'c')) . "-c-" . $get_params['ecwid_category_id'];
            }
        }
        // add url anchor (if needed)
        if ($anchor != "") {
            $base_url .= "#" . $anchor;
        }
    } else {
        //default path constructor
        $page_id = get_option('ecwid_store_page_id');
        $get_params['page_id'] = $page_id;
        if (count($get_params) > 0) {
            $base_url .= strpos($base_url, '?') === false ? "?" : "&";
            $is_first = true;
            foreach ($get_params as $key => $value) {
                if (!$is_first) {
                    $base_url .= "&";
                }
                $base_url .= $key . "=" . $value;
                $is_first = false;
            }
        }
    }
    return $base_url;
}