<?php
>
declare(strict_types=1);
namespace ZipStream;
< class DeflateStream extends Stream
< {
< protected $filter;
<
/**
< * @var Option\File
> * @deprecated
*/
< protected $options;
<
< /**
< * Rewind stream
< *
< * @return void
< */
< public function rewind(): void
> class DeflateStream extends Stream
{
< // deflate filter needs to be removed before rewind
< if ($this->filter) {
< $this->removeDeflateFilter();
< $this->seek(0);
< $this->addDeflateFilter($this->options);
< } else {
< rewind($this->stream);
< }
> public function __construct($stream)
> {
> parent::__construct($stream);
> trigger_error('Class ' . __CLASS__ . ' is deprecated, delation will be handled internally instead', E_USER_DEPRECATED);
}
< /**
< * Remove the deflate filter
< *
< * @return void
< */
public function removeDeflateFilter(): void
{
< if (!$this->filter) {
< return;
< }
< stream_filter_remove($this->filter);
< $this->filter = null;
> trigger_error('Method ' . __METHOD__ . ' is deprecated', E_USER_DEPRECATED);
}
< /**
< * Add a deflate filter
< *
< * @param Option\File $options
< * @return void
< */
public function addDeflateFilter(Option\File $options): void
{
< $this->options = $options;
< // parameter 4 for stream_filter_append expects array
< // so we convert the option object in an array
< $optionsArr = [
< 'comment' => $options->getComment(),
< 'method' => $options->getMethod(),
< 'deflateLevel' => $options->getDeflateLevel(),
< 'time' => $options->getTime()
< ];
< $this->filter = stream_filter_append(
< $this->stream,
< 'zlib.deflate',
< STREAM_FILTER_READ,
< $optionsArr
< );
> trigger_error('Method ' . __METHOD__ . ' is deprecated', E_USER_DEPRECATED);
}
}