Browse code

added appinfo/info.xml appinfo/signature.json CHANGELOG.txt lib/AppInfo/Application.php css/style.css providers/Plivo

DoubleBastionAdmin authored on 05/11/2025 13:35:09
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,118 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+namespace GuzzleHttp\Psr7;
6
+
7
+final class Query
8
+{
9
+    /**
10
+     * Parse a query string into an associative array.
11
+     *
12
+     * If multiple values are found for the same key, the value of that key
13
+     * value pair will become an array. This function does not parse nested
14
+     * PHP style arrays into an associative array (e.g., `foo[a]=1&foo[b]=2`
15
+     * will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`.
16
+     *
17
+     * @param string   $str         Query string to parse
18
+     * @param int|bool $urlEncoding How the query string is encoded
19
+     */
20
+    public static function parse(string $str, $urlEncoding = true): array
21
+    {
22
+        $result = [];
23
+
24
+        if ($str === '') {
25
+            return $result;
26
+        }
27
+
28
+        if ($urlEncoding === true) {
29
+            $decoder = function ($value) {
30
+                return rawurldecode(str_replace('+', ' ', (string) $value));
31
+            };
32
+        } elseif ($urlEncoding === PHP_QUERY_RFC3986) {
33
+            $decoder = 'rawurldecode';
34
+        } elseif ($urlEncoding === PHP_QUERY_RFC1738) {
35
+            $decoder = 'urldecode';
36
+        } else {
37
+            $decoder = function ($str) {
38
+                return $str;
39
+            };
40
+        }
41
+
42
+        foreach (explode('&', $str) as $kvp) {
43
+            $parts = explode('=', $kvp, 2);
44
+            $key = $decoder($parts[0]);
45
+            $value = isset($parts[1]) ? $decoder($parts[1]) : null;
46
+            if (!array_key_exists($key, $result)) {
47
+                $result[$key] = $value;
48
+            } else {
49
+                if (!is_array($result[$key])) {
50
+                    $result[$key] = [$result[$key]];
51
+                }
52
+                $result[$key][] = $value;
53
+            }
54
+        }
55
+
56
+        return $result;
57
+    }
58
+
59
+    /**
60
+     * Build a query string from an array of key value pairs.
61
+     *
62
+     * This function can use the return value of `parse()` to build a query
63
+     * string. This function does not modify the provided keys when an array is
64
+     * encountered (like `http_build_query()` would).
65
+     *
66
+     * @param array     $params           Query string parameters.
67
+     * @param int|false $encoding         Set to false to not encode,
68
+     *                                    PHP_QUERY_RFC3986 to encode using
69
+     *                                    RFC3986, or PHP_QUERY_RFC1738 to
70
+     *                                    encode using RFC1738.
71
+     * @param bool      $treatBoolsAsInts Set to true to encode as 0/1, and
72
+     *                                    false as false/true.
73
+     */
74
+    public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string
75
+    {
76
+        if (!$params) {
77
+            return '';
78
+        }
79
+
80
+        if ($encoding === false) {
81
+            $encoder = function (string $str): string {
82
+                return $str;
83
+            };
84
+        } elseif ($encoding === PHP_QUERY_RFC3986) {
85
+            $encoder = 'rawurlencode';
86
+        } elseif ($encoding === PHP_QUERY_RFC1738) {
87
+            $encoder = 'urlencode';
88
+        } else {
89
+            throw new \InvalidArgumentException('Invalid type');
90
+        }
91
+
92
+        $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; };
93
+
94
+        $qs = '';
95
+        foreach ($params as $k => $v) {
96
+            $k = $encoder((string) $k);
97
+            if (!is_array($v)) {
98
+                $qs .= $k;
99
+                $v = is_bool($v) ? $castBool($v) : $v;
100
+                if ($v !== null) {
101
+                    $qs .= '='.$encoder((string) $v);
102
+                }
103
+                $qs .= '&';
104
+            } else {
105
+                foreach ($v as $vv) {
106
+                    $qs .= $k;
107
+                    $vv = is_bool($vv) ? $castBool($vv) : $vv;
108
+                    if ($vv !== null) {
109
+                        $qs .= '='.$encoder((string) $vv);
110
+                    }
111
+                    $qs .= '&';
112
+                }
113
+            }
114
+        }
115
+
116
+        return $qs ? (string) substr($qs, 0, -1) : '';
117
+    }
118
+}
Browse code

removed appinfo/info.xml appinfo/signature.json CHANGELOG.txt lib/AppInfo/Application.php css/style.css providers/Plivo

DoubleBastionAdmin authored on 05/11/2025 13:12:22
Showing 1 changed files
1 1
deleted file mode 100644
... ...
@@ -1,108 +0,0 @@
1
-<?php
2
-
3
-namespace GuzzleHttp\Psr7;
4
-
5
-final class Query
6
-{
7
-    /**
8
-     * Parse a query string into an associative array.
9
-     *
10
-     * If multiple values are found for the same key, the value of that key
11
-     * value pair will become an array. This function does not parse nested
12
-     * PHP style arrays into an associative array (e.g., `foo[a]=1&foo[b]=2`
13
-     * will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`.
14
-     *
15
-     * @param string   $str         Query string to parse
16
-     * @param int|bool $urlEncoding How the query string is encoded
17
-     *
18
-     * @return array
19
-     */
20
-    public static function parse($str, $urlEncoding = true)
21
-    {
22
-        $result = [];
23
-
24
-        if ($str === '') {
25
-            return $result;
26
-        }
27
-
28
-        if ($urlEncoding === true) {
29
-            $decoder = function ($value) {
30
-                return rawurldecode(str_replace('+', ' ', $value));
31
-            };
32
-        } elseif ($urlEncoding === PHP_QUERY_RFC3986) {
33
-            $decoder = 'rawurldecode';
34
-        } elseif ($urlEncoding === PHP_QUERY_RFC1738) {
35
-            $decoder = 'urldecode';
36
-        } else {
37
-            $decoder = function ($str) { return $str; };
38
-        }
39
-
40
-        foreach (explode('&', $str) as $kvp) {
41
-            $parts = explode('=', $kvp, 2);
42
-            $key = $decoder($parts[0]);
43
-            $value = isset($parts[1]) ? $decoder($parts[1]) : null;
44
-            if (!isset($result[$key])) {
45
-                $result[$key] = $value;
46
-            } else {
47
-                if (!is_array($result[$key])) {
48
-                    $result[$key] = [$result[$key]];
49
-                }
50
-                $result[$key][] = $value;
51
-            }
52
-        }
53
-
54
-        return $result;
55
-    }
56
-
57
-    /**
58
-     * Build a query string from an array of key value pairs.
59
-     *
60
-     * This function can use the return value of `parse()` to build a query
61
-     * string. This function does not modify the provided keys when an array is
62
-     * encountered (like `http_build_query()` would).
63
-     *
64
-     * @param array     $params   Query string parameters.
65
-     * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986
66
-     *                            to encode using RFC3986, or PHP_QUERY_RFC1738
67
-     *                            to encode using RFC1738.
68
-     * @return string
69
-     */
70
-    public static function build(array $params, $encoding = PHP_QUERY_RFC3986)
71
-    {
72
-        if (!$params) {
73
-            return '';
74
-        }
75
-
76
-        if ($encoding === false) {
77
-            $encoder = function ($str) { return $str; };
78
-        } elseif ($encoding === PHP_QUERY_RFC3986) {
79
-            $encoder = 'rawurlencode';
80
-        } elseif ($encoding === PHP_QUERY_RFC1738) {
81
-            $encoder = 'urlencode';
82
-        } else {
83
-            throw new \InvalidArgumentException('Invalid type');
84
-        }
85
-
86
-        $qs = '';
87
-        foreach ($params as $k => $v) {
88
-            $k = $encoder($k);
89
-            if (!is_array($v)) {
90
-                $qs .= $k;
91
-                if ($v !== null) {
92
-                    $qs .= '=' . $encoder($v);
93
-                }
94
-                $qs .= '&';
95
-            } else {
96
-                foreach ($v as $vv) {
97
-                    $qs .= $k;
98
-                    if ($vv !== null) {
99
-                        $qs .= '=' . $encoder($vv);
100
-                    }
101
-                    $qs .= '&';
102
-                }
103
-            }
104
-        }
105
-
106
-        return $qs ? (string) substr($qs, 0, -1) : '';
107
-    }
108
-}
Browse code

Added README.md appinfo/info.xml appinfo/signature.json lib/Controller/AuthorApiController.php and the providers directory

DoubleBastionAdmin authored on 20/08/2022 16:33:00
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,108 @@
1
+<?php
2
+
3
+namespace GuzzleHttp\Psr7;
4
+
5
+final class Query
6
+{
7
+    /**
8
+     * Parse a query string into an associative array.
9
+     *
10
+     * If multiple values are found for the same key, the value of that key
11
+     * value pair will become an array. This function does not parse nested
12
+     * PHP style arrays into an associative array (e.g., `foo[a]=1&foo[b]=2`
13
+     * will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`.
14
+     *
15
+     * @param string   $str         Query string to parse
16
+     * @param int|bool $urlEncoding How the query string is encoded
17
+     *
18
+     * @return array
19
+     */
20
+    public static function parse($str, $urlEncoding = true)
21
+    {
22
+        $result = [];
23
+
24
+        if ($str === '') {
25
+            return $result;
26
+        }
27
+
28
+        if ($urlEncoding === true) {
29
+            $decoder = function ($value) {
30
+                return rawurldecode(str_replace('+', ' ', $value));
31
+            };
32
+        } elseif ($urlEncoding === PHP_QUERY_RFC3986) {
33
+            $decoder = 'rawurldecode';
34
+        } elseif ($urlEncoding === PHP_QUERY_RFC1738) {
35
+            $decoder = 'urldecode';
36
+        } else {
37
+            $decoder = function ($str) { return $str; };
38
+        }
39
+
40
+        foreach (explode('&', $str) as $kvp) {
41
+            $parts = explode('=', $kvp, 2);
42
+            $key = $decoder($parts[0]);
43
+            $value = isset($parts[1]) ? $decoder($parts[1]) : null;
44
+            if (!isset($result[$key])) {
45
+                $result[$key] = $value;
46
+            } else {
47
+                if (!is_array($result[$key])) {
48
+                    $result[$key] = [$result[$key]];
49
+                }
50
+                $result[$key][] = $value;
51
+            }
52
+        }
53
+
54
+        return $result;
55
+    }
56
+
57
+    /**
58
+     * Build a query string from an array of key value pairs.
59
+     *
60
+     * This function can use the return value of `parse()` to build a query
61
+     * string. This function does not modify the provided keys when an array is
62
+     * encountered (like `http_build_query()` would).
63
+     *
64
+     * @param array     $params   Query string parameters.
65
+     * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986
66
+     *                            to encode using RFC3986, or PHP_QUERY_RFC1738
67
+     *                            to encode using RFC1738.
68
+     * @return string
69
+     */
70
+    public static function build(array $params, $encoding = PHP_QUERY_RFC3986)
71
+    {
72
+        if (!$params) {
73
+            return '';
74
+        }
75
+
76
+        if ($encoding === false) {
77
+            $encoder = function ($str) { return $str; };
78
+        } elseif ($encoding === PHP_QUERY_RFC3986) {
79
+            $encoder = 'rawurlencode';
80
+        } elseif ($encoding === PHP_QUERY_RFC1738) {
81
+            $encoder = 'urlencode';
82
+        } else {
83
+            throw new \InvalidArgumentException('Invalid type');
84
+        }
85
+
86
+        $qs = '';
87
+        foreach ($params as $k => $v) {
88
+            $k = $encoder($k);
89
+            if (!is_array($v)) {
90
+                $qs .= $k;
91
+                if ($v !== null) {
92
+                    $qs .= '=' . $encoder($v);
93
+                }
94
+                $qs .= '&';
95
+            } else {
96
+                foreach ($v as $vv) {
97
+                    $qs .= $k;
98
+                    if ($vv !== null) {
99
+                        $qs .= '=' . $encoder($vv);
100
+                    }
101
+                    $qs .= '&';
102
+                }
103
+            }
104
+        }
105
+
106
+        return $qs ? (string) substr($qs, 0, -1) : '';
107
+    }
108
+}