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; }