PluginProbe ʕ •ᴥ•ʔ
Brevo – Email, SMS, Web Push, Chat, and more. / 3.2.5
Brevo – Email, SMS, Web Push, Chat, and more. v3.2.5
2.9.13 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.2 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.1.29 3.1.3 3.1.30 3.1.31 3.1.32 3.1.33 3.1.34 3.1.35 3.1.36 3.1.37 3.1.38 3.1.39 3.1.4 3.1.40 3.1.41 3.1.42 3.1.43 3.1.44 3.1.45 3.1.46 3.1.47 3.1.48 3.1.49 3.1.5 3.1.50 3.1.51 3.1.52 3.1.53 3.1.54 3.1.55 3.1.56 3.1.57 3.1.58 3.1.59 3.1.6 3.1.60 3.1.61 3.1.62 3.1.63 3.1.64 3.1.65 3.1.66 3.1.67 3.1.68 3.1.69 3.1.7 3.1.70 3.1.71 3.1.72 3.1.73 3.1.74 3.1.75 3.1.76 3.1.77 3.1.78 3.1.79 3.1.8 3.1.80 3.1.81 3.1.82 3.1.83 3.1.84 3.1.85 3.1.86 3.1.87 3.1.88 3.1.89 3.1.9 3.1.90 3.1.91 3.1.92 3.1.93 3.1.94 3.1.95 3.1.96 3.1.97 3.1.98 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 trunk 1.0 1.5 2.0.8 2.9.10 2.9.11 2.9.12
mailin / inc / http-build-url.php
mailin / inc Last commit date
templates 1 year ago SendinblueAccount.php 1 year ago SendinblueApiClient.php 1 year ago function.wp_mail.php 8 years ago http-build-url.php 1 year ago index.php 8 years ago mailin.php 3 years ago push-admin.php 1 year ago push-amp.php 1 year ago push-api.php 1 year ago push-httpclient.php 1 year ago push-public.php 1 year ago push-settings.php 1 year ago push-utils.php 1 year ago push-woocommerce.php 1 year ago sendinblue.php 3 years ago sib-api-manager.php 1 year ago sib-form-preview.php 2 years ago sib-sms-code.php 3 years ago table-forms.php 1 year ago
http-build-url.php
177 lines
1 <?php
2 if (!defined( 'ABSPATH' )) { http_response_code(403); exit(); }
3
4 // https://raw.githubusercontent.com/jakeasmith/http_build_url/master/src/http_build_url.php
5 /**
6 * URL constants as defined in the PHP Manual under "Constants usable with
7 * http_build_url()".
8 *
9 * @see http://us2.php.net/manual/en/http.constants.php#http.constants.url
10 */
11 if (!defined('HTTP_URL_REPLACE')) {
12 define('HTTP_URL_REPLACE', 1);
13 }
14 if (!defined('HTTP_URL_JOIN_PATH')) {
15 define('HTTP_URL_JOIN_PATH', 2);
16 }
17 if (!defined('HTTP_URL_JOIN_QUERY')) {
18 define('HTTP_URL_JOIN_QUERY', 4);
19 }
20 if (!defined('HTTP_URL_STRIP_USER')) {
21 define('HTTP_URL_STRIP_USER', 8);
22 }
23 if (!defined('HTTP_URL_STRIP_PASS')) {
24 define('HTTP_URL_STRIP_PASS', 16);
25 }
26 if (!defined('HTTP_URL_STRIP_AUTH')) {
27 define('HTTP_URL_STRIP_AUTH', 32);
28 }
29 if (!defined('HTTP_URL_STRIP_PORT')) {
30 define('HTTP_URL_STRIP_PORT', 64);
31 }
32 if (!defined('HTTP_URL_STRIP_PATH')) {
33 define('HTTP_URL_STRIP_PATH', 128);
34 }
35 if (!defined('HTTP_URL_STRIP_QUERY')) {
36 define('HTTP_URL_STRIP_QUERY', 256);
37 }
38 if (!defined('HTTP_URL_STRIP_FRAGMENT')) {
39 define('HTTP_URL_STRIP_FRAGMENT', 512);
40 }
41 if (!defined('HTTP_URL_STRIP_ALL')) {
42 define('HTTP_URL_STRIP_ALL', 1024);
43 }
44
45 if (!function_exists('http_build_url')) {
46
47 /**
48 * Build a URL.
49 *
50 * The parts of the second URL will be merged into the first according to
51 * the flags argument.
52 *
53 * @param mixed $url (part(s) of) an URL in form of a string or
54 * associative array like parse_url() returns
55 * @param mixed $parts same as the first argument
56 * @param int $flags a bitmask of binary or'ed HTTP_URL constants;
57 * HTTP_URL_REPLACE is the default
58 * @param array $new_url if set, it will be filled with the parts of the
59 * composed url like parse_url() would return
60 * @return string
61 */
62 function http_build_url($url, $parts = array(), $flags = HTTP_URL_REPLACE, &$new_url = array())
63 {
64 is_array($url) || $url = parse_url($url);
65 is_array($parts) || $parts = parse_url($parts);
66
67 isset($url['query']) && is_string($url['query']) || $url['query'] = null;
68 isset($parts['query']) && is_string($parts['query']) || $parts['query'] = null;
69
70 $keys = array('user', 'pass', 'port', 'path', 'query', 'fragment');
71
72 // HTTP_URL_STRIP_ALL and HTTP_URL_STRIP_AUTH cover several other flags.
73 if ($flags & HTTP_URL_STRIP_ALL) {
74 $flags |= HTTP_URL_STRIP_USER | HTTP_URL_STRIP_PASS
75 | HTTP_URL_STRIP_PORT | HTTP_URL_STRIP_PATH
76 | HTTP_URL_STRIP_QUERY | HTTP_URL_STRIP_FRAGMENT;
77 } elseif ($flags & HTTP_URL_STRIP_AUTH) {
78 $flags |= HTTP_URL_STRIP_USER | HTTP_URL_STRIP_PASS;
79 }
80
81 // Schema and host are alwasy replaced
82 foreach (array('scheme', 'host') as $part) {
83 if (isset($parts[$part])) {
84 $url[$part] = $parts[$part];
85 }
86 }
87
88 if ($flags & HTTP_URL_REPLACE) {
89 foreach ($keys as $key) {
90 if (isset($parts[$key])) {
91 $url[$key] = $parts[$key];
92 }
93 }
94 } else {
95 if (isset($parts['path']) && ($flags & HTTP_URL_JOIN_PATH)) {
96 if (isset($url['path']) && substr($parts['path'], 0, 1) !== '/') {
97 // Workaround for trailing slashes
98 $url['path'] .= 'a';
99 $url['path'] = rtrim(
100 str_replace(basename($url['path']), '', $url['path']),
101 '/'
102 ) . '/' . ltrim($parts['path'], '/');
103 } else {
104 $url['path'] = $parts['path'];
105 }
106 }
107
108 if (isset($parts['query']) && ($flags & HTTP_URL_JOIN_QUERY)) {
109 if (isset($url['query'])) {
110 parse_str($url['query'], $url_query);
111 parse_str($parts['query'], $parts_query);
112
113 $url['query'] = http_build_query(
114 array_replace_recursive(
115 $url_query,
116 $parts_query
117 )
118 );
119 } else {
120 $url['query'] = $parts['query'];
121 }
122 }
123 }
124
125 if (isset($url['path']) && $url['path'] !== '' && substr($url['path'], 0, 1) !== '/') {
126 $url['path'] = '/' . $url['path'];
127 }
128
129 foreach ($keys as $key) {
130 $strip = 'HTTP_URL_STRIP_' . strtoupper($key);
131 if ($flags & constant($strip)) {
132 unset($url[$key]);
133 }
134 }
135
136 $parsed_string = '';
137
138 if (!empty($url['scheme'])) {
139 $parsed_string .= $url['scheme'] . '://';
140 }
141
142 if (!empty($url['user'])) {
143 $parsed_string .= $url['user'];
144
145 if (isset($url['pass'])) {
146 $parsed_string .= ':' . $url['pass'];
147 }
148
149 $parsed_string .= '@';
150 }
151
152 if (!empty($url['host'])) {
153 $parsed_string .= $url['host'];
154 }
155
156 if (!empty($url['port'])) {
157 $parsed_string .= ':' . $url['port'];
158 }
159
160 if (!empty($url['path'])) {
161 $parsed_string .= $url['path'];
162 }
163
164 if (!empty($url['query'])) {
165 $parsed_string .= '?' . $url['query'];
166 }
167
168 if (!empty($url['fragment'])) {
169 $parsed_string .= '#' . $url['fragment'];
170 }
171
172 $new_url = $url;
173
174 return $parsed_string;
175 }
176 }
177