PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / vendor / jakeasmith / http_build_url / src / http_build_url.php
woocommerce-multilingual / vendor / jakeasmith / http_build_url / src Last commit date
http_build_url.php 1 month ago
http_build_url.php
151 lines
1 <?php
2
3 if (!defined('HTTP_URL_REPLACE')) {
4 define('HTTP_URL_REPLACE', 1);
5 }
6 if (!defined('HTTP_URL_JOIN_PATH')) {
7 define('HTTP_URL_JOIN_PATH', 2);
8 }
9 if (!defined('HTTP_URL_JOIN_QUERY')) {
10 define('HTTP_URL_JOIN_QUERY', 4);
11 }
12 if (!defined('HTTP_URL_STRIP_USER')) {
13 define('HTTP_URL_STRIP_USER', 8);
14 }
15 if (!defined('HTTP_URL_STRIP_PASS')) {
16 define('HTTP_URL_STRIP_PASS', 16);
17 }
18 if (!defined('HTTP_URL_STRIP_AUTH')) {
19 define('HTTP_URL_STRIP_AUTH', 32);
20 }
21 if (!defined('HTTP_URL_STRIP_PORT')) {
22 define('HTTP_URL_STRIP_PORT', 64);
23 }
24 if (!defined('HTTP_URL_STRIP_PATH')) {
25 define('HTTP_URL_STRIP_PATH', 128);
26 }
27 if (!defined('HTTP_URL_STRIP_QUERY')) {
28 define('HTTP_URL_STRIP_QUERY', 256);
29 }
30 if (!defined('HTTP_URL_STRIP_FRAGMENT')) {
31 define('HTTP_URL_STRIP_FRAGMENT', 512);
32 }
33 if (!defined('HTTP_URL_STRIP_ALL')) {
34 define('HTTP_URL_STRIP_ALL', 1024);
35 }
36
37 if (!function_exists('http_build_url')) {
38
39 function http_build_url($url, $parts = array(), $flags = HTTP_URL_REPLACE, &$new_url = array())
40 {
41 is_array($url) || $url = parse_url($url);
42 is_array($parts) || $parts = parse_url($parts);
43
44 isset($url['query']) && is_string($url['query']) || $url['query'] = null;
45 isset($parts['query']) && is_string($parts['query']) || $parts['query'] = null;
46
47 $keys = array('user', 'pass', 'port', 'path', 'query', 'fragment');
48
49 if ($flags & HTTP_URL_STRIP_ALL) {
50 $flags |= HTTP_URL_STRIP_USER | HTTP_URL_STRIP_PASS
51 | HTTP_URL_STRIP_PORT | HTTP_URL_STRIP_PATH
52 | HTTP_URL_STRIP_QUERY | HTTP_URL_STRIP_FRAGMENT;
53 } elseif ($flags & HTTP_URL_STRIP_AUTH) {
54 $flags |= HTTP_URL_STRIP_USER | HTTP_URL_STRIP_PASS;
55 }
56
57 foreach (array('scheme', 'host') as $part) {
58 if (isset($parts[$part])) {
59 $url[$part] = $parts[$part];
60 }
61 }
62
63 if ($flags & HTTP_URL_REPLACE) {
64 foreach ($keys as $key) {
65 if (isset($parts[$key])) {
66 $url[$key] = $parts[$key];
67 }
68 }
69 } else {
70 if (isset($parts['path']) && ($flags & HTTP_URL_JOIN_PATH)) {
71 if (isset($url['path']) && substr($parts['path'], 0, 1) !== '/') {
72 $url['path'] .= 'a';
73 $url['path'] = rtrim(
74 str_replace(basename($url['path']), '', $url['path']),
75 '/'
76 ) . '/' . ltrim($parts['path'], '/');
77 } else {
78 $url['path'] = $parts['path'];
79 }
80 }
81
82 if (isset($parts['query']) && ($flags & HTTP_URL_JOIN_QUERY)) {
83 if (isset($url['query'])) {
84 parse_str($url['query'], $url_query);
85 parse_str($parts['query'], $parts_query);
86
87 $url['query'] = http_build_query(
88 array_replace_recursive(
89 $url_query,
90 $parts_query
91 )
92 );
93 } else {
94 $url['query'] = $parts['query'];
95 }
96 }
97 }
98
99 if (isset($url['path']) && $url['path'] !== '' && substr($url['path'], 0, 1) !== '/') {
100 $url['path'] = '/' . $url['path'];
101 }
102
103 foreach ($keys as $key) {
104 $strip = 'HTTP_URL_STRIP_' . strtoupper($key);
105 if ($flags & constant($strip)) {
106 unset($url[$key]);
107 }
108 }
109
110 $parsed_string = '';
111
112 if (!empty($url['scheme'])) {
113 $parsed_string .= $url['scheme'] . '://';
114 }
115
116 if (!empty($url['user'])) {
117 $parsed_string .= $url['user'];
118
119 if (isset($url['pass'])) {
120 $parsed_string .= ':' . $url['pass'];
121 }
122
123 $parsed_string .= '@';
124 }
125
126 if (!empty($url['host'])) {
127 $parsed_string .= $url['host'];
128 }
129
130 if (!empty($url['port'])) {
131 $parsed_string .= ':' . $url['port'];
132 }
133
134 if (!empty($url['path'])) {
135 $parsed_string .= $url['path'];
136 }
137
138 if (!empty($url['query'])) {
139 $parsed_string .= '?' . $url['query'];
140 }
141
142 if (!empty($url['fragment'])) {
143 $parsed_string .= '#' . $url['fragment'];
144 }
145
146 $new_url = $url;
147
148 return $parsed_string;
149 }
150 }
151