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,207 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+namespace GuzzleHttp\Psr7;
6
+
7
+use Psr\Http\Message\StreamInterface;
8
+
9
+/**
10
+ * Converts Guzzle streams into PHP stream resources.
11
+ *
12
+ * @see https://www.php.net/streamwrapper
13
+ */
14
+final class StreamWrapper
15
+{
16
+    /** @var resource */
17
+    public $context;
18
+
19
+    /** @var StreamInterface */
20
+    private $stream;
21
+
22
+    /** @var string r, r+, or w */
23
+    private $mode;
24
+
25
+    /**
26
+     * Returns a resource representing the stream.
27
+     *
28
+     * @param StreamInterface $stream The stream to get a resource for
29
+     *
30
+     * @return resource
31
+     *
32
+     * @throws \InvalidArgumentException if stream is not readable or writable
33
+     */
34
+    public static function getResource(StreamInterface $stream)
35
+    {
36
+        self::register();
37
+
38
+        if ($stream->isReadable()) {
39
+            $mode = $stream->isWritable() ? 'r+' : 'r';
40
+        } elseif ($stream->isWritable()) {
41
+            $mode = 'w';
42
+        } else {
43
+            throw new \InvalidArgumentException('The stream must be readable, '
44
+                .'writable, or both.');
45
+        }
46
+
47
+        return fopen('guzzle://stream', $mode, false, self::createStreamContext($stream));
48
+    }
49
+
50
+    /**
51
+     * Creates a stream context that can be used to open a stream as a php stream resource.
52
+     *
53
+     * @return resource
54
+     */
55
+    public static function createStreamContext(StreamInterface $stream)
56
+    {
57
+        return stream_context_create([
58
+            'guzzle' => ['stream' => $stream],
59
+        ]);
60
+    }
61
+
62
+    /**
63
+     * Registers the stream wrapper if needed
64
+     */
65
+    public static function register(): void
66
+    {
67
+        if (!in_array('guzzle', stream_get_wrappers())) {
68
+            stream_wrapper_register('guzzle', __CLASS__);
69
+        }
70
+    }
71
+
72
+    public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool
73
+    {
74
+        $options = stream_context_get_options($this->context);
75
+
76
+        if (!isset($options['guzzle']['stream'])) {
77
+            return false;
78
+        }
79
+
80
+        $this->mode = $mode;
81
+        $this->stream = $options['guzzle']['stream'];
82
+
83
+        return true;
84
+    }
85
+
86
+    public function stream_read(int $count): string
87
+    {
88
+        return $this->stream->read($count);
89
+    }
90
+
91
+    public function stream_write(string $data): int
92
+    {
93
+        return $this->stream->write($data);
94
+    }
95
+
96
+    public function stream_tell(): int
97
+    {
98
+        return $this->stream->tell();
99
+    }
100
+
101
+    public function stream_eof(): bool
102
+    {
103
+        return $this->stream->eof();
104
+    }
105
+
106
+    public function stream_seek(int $offset, int $whence): bool
107
+    {
108
+        $this->stream->seek($offset, $whence);
109
+
110
+        return true;
111
+    }
112
+
113
+    /**
114
+     * @return resource|false
115
+     */
116
+    public function stream_cast(int $cast_as)
117
+    {
118
+        $stream = clone $this->stream;
119
+        $resource = $stream->detach();
120
+
121
+        return $resource ?? false;
122
+    }
123
+
124
+    /**
125
+     * @return array{
126
+     *   dev: int,
127
+     *   ino: int,
128
+     *   mode: int,
129
+     *   nlink: int,
130
+     *   uid: int,
131
+     *   gid: int,
132
+     *   rdev: int,
133
+     *   size: int,
134
+     *   atime: int,
135
+     *   mtime: int,
136
+     *   ctime: int,
137
+     *   blksize: int,
138
+     *   blocks: int
139
+     * }|false
140
+     */
141
+    public function stream_stat()
142
+    {
143
+        if ($this->stream->getSize() === null) {
144
+            return false;
145
+        }
146
+
147
+        static $modeMap = [
148
+            'r' => 33060,
149
+            'rb' => 33060,
150
+            'r+' => 33206,
151
+            'w' => 33188,
152
+            'wb' => 33188,
153
+        ];
154
+
155
+        return [
156
+            'dev' => 0,
157
+            'ino' => 0,
158
+            'mode' => $modeMap[$this->mode],
159
+            'nlink' => 0,
160
+            'uid' => 0,
161
+            'gid' => 0,
162
+            'rdev' => 0,
163
+            'size' => $this->stream->getSize() ?: 0,
164
+            'atime' => 0,
165
+            'mtime' => 0,
166
+            'ctime' => 0,
167
+            'blksize' => 0,
168
+            'blocks' => 0,
169
+        ];
170
+    }
171
+
172
+    /**
173
+     * @return array{
174
+     *   dev: int,
175
+     *   ino: int,
176
+     *   mode: int,
177
+     *   nlink: int,
178
+     *   uid: int,
179
+     *   gid: int,
180
+     *   rdev: int,
181
+     *   size: int,
182
+     *   atime: int,
183
+     *   mtime: int,
184
+     *   ctime: int,
185
+     *   blksize: int,
186
+     *   blocks: int
187
+     * }
188
+     */
189
+    public function url_stat(string $path, int $flags): array
190
+    {
191
+        return [
192
+            'dev' => 0,
193
+            'ino' => 0,
194
+            'mode' => 0,
195
+            'nlink' => 0,
196
+            'uid' => 0,
197
+            'gid' => 0,
198
+            'rdev' => 0,
199
+            'size' => 0,
200
+            'atime' => 0,
201
+            'mtime' => 0,
202
+            'ctime' => 0,
203
+            'blksize' => 0,
204
+            'blocks' => 0,
205
+        ];
206
+    }
207
+}
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,163 +0,0 @@
1
-<?php
2
-
3
-namespace GuzzleHttp\Psr7;
4
-
5
-use Psr\Http\Message\StreamInterface;
6
-
7
-/**
8
- * Converts Guzzle streams into PHP stream resources.
9
- */
10
-class StreamWrapper
11
-{
12
-    /** @var resource */
13
-    public $context;
14
-
15
-    /** @var StreamInterface */
16
-    private $stream;
17
-
18
-    /** @var string r, r+, or w */
19
-    private $mode;
20
-
21
-    /**
22
-     * Returns a resource representing the stream.
23
-     *
24
-     * @param StreamInterface $stream The stream to get a resource for
25
-     *
26
-     * @return resource
27
-     *
28
-     * @throws \InvalidArgumentException if stream is not readable or writable
29
-     */
30
-    public static function getResource(StreamInterface $stream)
31
-    {
32
-        self::register();
33
-
34
-        if ($stream->isReadable()) {
35
-            $mode = $stream->isWritable() ? 'r+' : 'r';
36
-        } elseif ($stream->isWritable()) {
37
-            $mode = 'w';
38
-        } else {
39
-            throw new \InvalidArgumentException('The stream must be readable, '
40
-                . 'writable, or both.');
41
-        }
42
-
43
-        return fopen('guzzle://stream', $mode, null, self::createStreamContext($stream));
44
-    }
45
-
46
-    /**
47
-     * Creates a stream context that can be used to open a stream as a php stream resource.
48
-     *
49
-     * @param StreamInterface $stream
50
-     *
51
-     * @return resource
52
-     */
53
-    public static function createStreamContext(StreamInterface $stream)
54
-    {
55
-        return stream_context_create([
56
-            'guzzle' => ['stream' => $stream]
57
-        ]);
58
-    }
59
-
60
-    /**
61
-     * Registers the stream wrapper if needed
62
-     */
63
-    public static function register()
64
-    {
65
-        if (!in_array('guzzle', stream_get_wrappers())) {
66
-            stream_wrapper_register('guzzle', __CLASS__);
67
-        }
68
-    }
69
-
70
-    public function stream_open($path, $mode, $options, &$opened_path)
71
-    {
72
-        $options = stream_context_get_options($this->context);
73
-
74
-        if (!isset($options['guzzle']['stream'])) {
75
-            return false;
76
-        }
77
-
78
-        $this->mode = $mode;
79
-        $this->stream = $options['guzzle']['stream'];
80
-
81
-        return true;
82
-    }
83
-
84
-    public function stream_read($count)
85
-    {
86
-        return $this->stream->read($count);
87
-    }
88
-
89
-    public function stream_write($data)
90
-    {
91
-        return (int) $this->stream->write($data);
92
-    }
93
-
94
-    public function stream_tell()
95
-    {
96
-        return $this->stream->tell();
97
-    }
98
-
99
-    public function stream_eof()
100
-    {
101
-        return $this->stream->eof();
102
-    }
103
-
104
-    public function stream_seek($offset, $whence)
105
-    {
106
-        $this->stream->seek($offset, $whence);
107
-
108
-        return true;
109
-    }
110
-
111
-    public function stream_cast($cast_as)
112
-    {
113
-        $stream = clone($this->stream);
114
-
115
-        return $stream->detach();
116
-    }
117
-
118
-    public function stream_stat()
119
-    {
120
-        static $modeMap = [
121
-            'r'  => 33060,
122
-            'rb' => 33060,
123
-            'r+' => 33206,
124
-            'w'  => 33188,
125
-            'wb' => 33188
126
-        ];
127
-
128
-        return [
129
-            'dev'     => 0,
130
-            'ino'     => 0,
131
-            'mode'    => $modeMap[$this->mode],
132
-            'nlink'   => 0,
133
-            'uid'     => 0,
134
-            'gid'     => 0,
135
-            'rdev'    => 0,
136
-            'size'    => $this->stream->getSize() ?: 0,
137
-            'atime'   => 0,
138
-            'mtime'   => 0,
139
-            'ctime'   => 0,
140
-            'blksize' => 0,
141
-            'blocks'  => 0
142
-        ];
143
-    }
144
-
145
-    public function url_stat($path, $flags)
146
-    {
147
-        return [
148
-            'dev'     => 0,
149
-            'ino'     => 0,
150
-            'mode'    => 0,
151
-            'nlink'   => 0,
152
-            'uid'     => 0,
153
-            'gid'     => 0,
154
-            'rdev'    => 0,
155
-            'size'    => 0,
156
-            'atime'   => 0,
157
-            'mtime'   => 0,
158
-            'ctime'   => 0,
159
-            'blksize' => 0,
160
-            'blocks'  => 0
161
-        ];
162
-    }
163
-}
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,163 @@
1
+<?php
2
+
3
+namespace GuzzleHttp\Psr7;
4
+
5
+use Psr\Http\Message\StreamInterface;
6
+
7
+/**
8
+ * Converts Guzzle streams into PHP stream resources.
9
+ */
10
+class StreamWrapper
11
+{
12
+    /** @var resource */
13
+    public $context;
14
+
15
+    /** @var StreamInterface */
16
+    private $stream;
17
+
18
+    /** @var string r, r+, or w */
19
+    private $mode;
20
+
21
+    /**
22
+     * Returns a resource representing the stream.
23
+     *
24
+     * @param StreamInterface $stream The stream to get a resource for
25
+     *
26
+     * @return resource
27
+     *
28
+     * @throws \InvalidArgumentException if stream is not readable or writable
29
+     */
30
+    public static function getResource(StreamInterface $stream)
31
+    {
32
+        self::register();
33
+
34
+        if ($stream->isReadable()) {
35
+            $mode = $stream->isWritable() ? 'r+' : 'r';
36
+        } elseif ($stream->isWritable()) {
37
+            $mode = 'w';
38
+        } else {
39
+            throw new \InvalidArgumentException('The stream must be readable, '
40
+                . 'writable, or both.');
41
+        }
42
+
43
+        return fopen('guzzle://stream', $mode, null, self::createStreamContext($stream));
44
+    }
45
+
46
+    /**
47
+     * Creates a stream context that can be used to open a stream as a php stream resource.
48
+     *
49
+     * @param StreamInterface $stream
50
+     *
51
+     * @return resource
52
+     */
53
+    public static function createStreamContext(StreamInterface $stream)
54
+    {
55
+        return stream_context_create([
56
+            'guzzle' => ['stream' => $stream]
57
+        ]);
58
+    }
59
+
60
+    /**
61
+     * Registers the stream wrapper if needed
62
+     */
63
+    public static function register()
64
+    {
65
+        if (!in_array('guzzle', stream_get_wrappers())) {
66
+            stream_wrapper_register('guzzle', __CLASS__);
67
+        }
68
+    }
69
+
70
+    public function stream_open($path, $mode, $options, &$opened_path)
71
+    {
72
+        $options = stream_context_get_options($this->context);
73
+
74
+        if (!isset($options['guzzle']['stream'])) {
75
+            return false;
76
+        }
77
+
78
+        $this->mode = $mode;
79
+        $this->stream = $options['guzzle']['stream'];
80
+
81
+        return true;
82
+    }
83
+
84
+    public function stream_read($count)
85
+    {
86
+        return $this->stream->read($count);
87
+    }
88
+
89
+    public function stream_write($data)
90
+    {
91
+        return (int) $this->stream->write($data);
92
+    }
93
+
94
+    public function stream_tell()
95
+    {
96
+        return $this->stream->tell();
97
+    }
98
+
99
+    public function stream_eof()
100
+    {
101
+        return $this->stream->eof();
102
+    }
103
+
104
+    public function stream_seek($offset, $whence)
105
+    {
106
+        $this->stream->seek($offset, $whence);
107
+
108
+        return true;
109
+    }
110
+
111
+    public function stream_cast($cast_as)
112
+    {
113
+        $stream = clone($this->stream);
114
+
115
+        return $stream->detach();
116
+    }
117
+
118
+    public function stream_stat()
119
+    {
120
+        static $modeMap = [
121
+            'r'  => 33060,
122
+            'rb' => 33060,
123
+            'r+' => 33206,
124
+            'w'  => 33188,
125
+            'wb' => 33188
126
+        ];
127
+
128
+        return [
129
+            'dev'     => 0,
130
+            'ino'     => 0,
131
+            'mode'    => $modeMap[$this->mode],
132
+            'nlink'   => 0,
133
+            'uid'     => 0,
134
+            'gid'     => 0,
135
+            'rdev'    => 0,
136
+            'size'    => $this->stream->getSize() ?: 0,
137
+            'atime'   => 0,
138
+            'mtime'   => 0,
139
+            'ctime'   => 0,
140
+            'blksize' => 0,
141
+            'blocks'  => 0
142
+        ];
143
+    }
144
+
145
+    public function url_stat($path, $flags)
146
+    {
147
+        return [
148
+            'dev'     => 0,
149
+            'ino'     => 0,
150
+            'mode'    => 0,
151
+            'nlink'   => 0,
152
+            'uid'     => 0,
153
+            'gid'     => 0,
154
+            'rdev'    => 0,
155
+            'size'    => 0,
156
+            'atime'   => 0,
157
+            'mtime'   => 0,
158
+            'ctime'   => 0,
159
+            'blksize' => 0,
160
+            'blocks'  => 0
161
+        ];
162
+    }
163
+}