diff --git a/phpBB/phpbb/storage/adapter/adapter_interface.php b/phpBB/phpbb/storage/adapter/adapter_interface.php index 8cf7bd3a88..7ad90b9aa5 100644 --- a/phpBB/phpbb/storage/adapter/adapter_interface.php +++ b/phpBB/phpbb/storage/adapter/adapter_interface.php @@ -92,28 +92,4 @@ interface adapter_interface * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method */ public function copy($path_orig, $path_dest); - - /** - * Reads a file as a stream. - * - * @param string $path File to read - * - * @throws \phpbb\storage\exception\exception When cannot open file - * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method - * - * @return resource Returns a file pointer - */ - public function read_stream($path); - - /** - * Writes a new file using a stream. - * - * @param string $path The target file - * @param resource $resource The resource - * - * @throws \phpbb\storage\exception\exception When target file exists - * When target file cannot be created - * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method - */ - public function write_stream($path, $resource); } diff --git a/phpBB/phpbb/storage/adapter/local.php b/phpBB/phpbb/storage/adapter/local.php index 479f8d990e..225f15c432 100644 --- a/phpBB/phpbb/storage/adapter/local.php +++ b/phpBB/phpbb/storage/adapter/local.php @@ -13,6 +13,7 @@ namespace phpbb\storage\adapter; +use phpbb\storage\stream_interface; use phpbb\storage\exception\exception; use phpbb\filesystem\exception\filesystem_exception; use phpbb\filesystem\filesystem; @@ -21,7 +22,7 @@ use phpbb\filesystem\helper as filesystem_helper; /** * @internal Experimental */ -class local implements adapter_interface +class local implements adapter_interface, stream_interface { /** * Filesystem component diff --git a/phpBB/phpbb/storage/storage.php b/phpBB/phpbb/storage/storage.php index c0c70fac44..3d7052bc84 100644 --- a/phpBB/phpbb/storage/storage.php +++ b/phpBB/phpbb/storage/storage.php @@ -155,8 +155,7 @@ class storage * @param string $path File to read * * @throws \phpbb\storage\exception\exception When cannot open file - * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method - * + * @return resource Returns a file pointer */ public function read_stream($path) @@ -169,9 +168,7 @@ class storage * * @param string $path The target file * @param resource $resource The resource - * - * @throws \phpbb\storage\exception\exception When target file exists - * When target file cannot be created + * When target file cannot be created * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method */ public function write_stream($path, $resource) diff --git a/phpBB/phpbb/storage/stream_interface.php b/phpBB/phpbb/storage/stream_interface.php new file mode 100644 index 0000000000..01328677b5 --- /dev/null +++ b/phpBB/phpbb/storage/stream_interface.php @@ -0,0 +1,41 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +namespace phpbb\storage; + +interface stream_interface +{ + /** + * Reads a file as a stream. + * + * @param string $path File to read + * + * @throws \phpbb\storage\exception\exception When cannot open file + * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method + * + * @return resource Returns a file pointer + */ + public function read_stream($path); + + /** + * Writes a new file using a stream. + * + * @param string $path The target file + * @param resource $resource The resource + * + * @throws \phpbb\storage\exception\exception When target file exists + * When target file cannot be created + * @throws \phpbb\storage\exception\not_implemented When the adapter doesnt implement the method + */ + public function write_stream($path, $resource); +}