public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { if (!empty($this->_previous)) { $bucket->data = $this->_previous . $bucket->data; $this->_previous = ''; } if (!feof($this->stream) && preg_match('/(%[12]\\$|%[12]|%)$/', $bucket->data)) { $this->_previous .= $bucket->data; return PSFS_FEED_ME; } $consumed += $bucket->datalen; if (preg_match('/%([12])\\$s/', $bucket->data, $matches)) { if ($matches[1] == '1') { $bucket->data = preg_replace('/%1\\$s/', $this->_sender, $bucket->data); } else { $bucket->data = preg_replace('/%2\\$s/', $this->_recipient, $bucket->data); } } $bucket->datalen = strlen($bucket->data); stream_bucket_append($out, $bucket); } if (!empty($this->_previous)) { if ($closing) { $bucket = stream_bucket_new($this->stream, $this->_previous); $bucket->data = $this->_previous; $consumed += strlen($this->_previous); $this->_previous = ''; stream_bucket_append($out, $bucket); } } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) : int { while ($bucket = stream_bucket_make_writeable($in)) { stream_bucket_append($out, stream_bucket_new($this->stream, str_rot13($bucket->data))); } return \PSFS_PASS_ON; }
function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $this->data .= $bucket->data; $this->bucket = $bucket; $consumed = 0; } if ($closing) { $consumed += strlen($this->data); if (isset($this->bucket)) { $bucket = $this->bucket; } else { $bucket = stream_bucket_new($this->stream, ''); } $f = self::$registry[get_class($this)]; AbstractStreamProcessor__lazyUriResolver::bind($this->stream, $f->uri); $bucket->data = $f->process($this->data); $bucket->datalen = strlen($bucket->data); stream_bucket_append($out, $bucket); $this->bucket = null; $this->data = ''; return PSFS_PASS_ON; } return PSFS_FEED_ME; }
/** * The main filter method. * Implemented according to \php_user_filter class. Will loop over all stream buckets, buffer them and perform * the needed actions. * * @param resource $in Incoming bucket brigade we need to filter * @param resource $out Outgoing bucket brigade with already filtered content * @param integer $consumed The count of altered characters as buckets pass the filter * @param boolean $closing Is the stream about to close? * * @throws \Exception * @throws \PHPParser_Error * * @return integer * * @link http://www.php.net/manual/en/php-user-filter.filter.php * * TODO The buffering does not work that well, maybe we should implement universal buffering within parent class! */ public function filter($in, $out, &$consumed, $closing) { // Get our buckets from the stream $buffer = ''; while ($bucket = stream_bucket_make_writeable($in)) { $buffer .= $bucket->data; // Tell them how much we already processed, and stuff it back into the output $consumed += $bucket->datalen; // Save a bucket for later reuse $bigBucket = $bucket; } // Beautify all the buckets! $parser = new \PHPParser_Parser(new \PHPParser_Lexer()); $prettyPrinter = new \PHPParser_PrettyPrinter_Default(); try { // parse $stmts = $parser->parse($buffer); $data = '<?php ' . $prettyPrinter->prettyPrint($stmts); } catch (PHPParser_Error $e) { throw $e; } // Refill the bucket with the beautified data // Do not forget to set the length! $bigBucket->data = $data; $bigBucket->datalen = strlen($data); // Only append our big bucket stream_bucket_append($out, $bigBucket); return PSFS_PASS_ON; }
/** * Filter some data. * * @param resource $in Read from this input stream * @param resource $out Write to this output stream * @param int $consumed Count of bytes processed * @param bool $closing Is the input about to end? * * @return int PSFS_PASS_ON / PSFS_FEED_ME / PSFS_ERR_FATAL */ public function filter($in, $out, &$consumed, $closing) : int { $return = PSFS_FEED_ME; // While input data is available, continue to read it. while ($bucket_in = stream_bucket_make_writeable($in)) { $this->data .= $bucket_in->data; $consumed += $bucket_in->datalen; // While we have complete GEDCOM records, process them. while (preg_match('/(.*?[\\r\\n]\\s*)(0.*)/s', $this->data, $match) === 1) { list(, $data, $this->data) = $match; // Send this record output. $data = $this->filterData($data); $bucket_out = stream_bucket_new($this->stream, $data); $return = PSFS_PASS_ON; stream_bucket_append($out, $bucket_out); } } // Process the final record. if ($closing && $this->data !== '') { $data = $this->filterData($this->data); $bucket_out = stream_bucket_new($this->stream, $data); $return = PSFS_PASS_ON; stream_bucket_append($out, $bucket_out); } return $return; }
function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
function filter($in, $out, &$consumed, $closing) { if (!$closing) { $bucket = stream_bucket_new($this->stream, "42"); stream_bucket_append($out, $bucket); } return PSFS_ERR_FATAL; }
function filter($in, $out, &$consumed, $closing) { while ($ib = stream_bucket_make_writeable($in)) { $ob = stream_bucket_new($this->stream, strtoupper($ib->data)); stream_bucket_append($out, $ob); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = preg_replace(self::$pattern, '', $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $consumed += $bucket->datalen; $bucket->data = call_user_func($this->params["func"], $this, $bucket->data, $closing); stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = preg_replace("/[\r\n]+\$/", "\r\n", $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * Filter implementation converts encoding before returning PSFS_PASS_ON. * * @param resource $in * @param resource $out * @param int $consumed * @param bool $closing * @return int */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = mb_convert_encoding($bucket->data, 'UTF-8', $this->charset); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * @see stream_filter_register() */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = str_replace($this->_search, $this->_replace, $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
function filter_impl($in, $out) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = strtoupper($bucket->data) . $bucket->data; $consumed += $bucket->datalen; $bucket->datalen *= 2; stream_bucket_append($out, $bucket); } }
/** * Collect intercepted data * * @param resource $in * @param resource $out * @param int $consumed * @param bool $closing * @return int * * @SuppressWarnings(PHPMD.UnusedFormalParameter) * @SuppressWarnings(PHPMD.ShortVariable) */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { self::$_collectedData .= $bucket->data; $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { while ($res = stream_bucket_make_writeable($in)) { $res->data = @mb_convert_encoding($res->data, $this->encoding_to, $this->encoding_from); $consumed += $res->datalen; stream_bucket_append($out, $res); } return PSFS_PASS_ON; }
/** * @param $in * @param $out * @param $consumed * @param $closing * * @return int|void * * @link http://stackoverflow.com/a/3466609/372654 */ function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = preg_replace('/[^\\x{0009}\\x{000a}\\x{000d}\\x{0020}-\\x{D7FF}\\x{E000}-\\x{FFFD}]+/u', '', $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * @see stream_filter_register() */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $consumed += $bucket->datalen; $this->params->crc32 = $this->_crc32Combine($this->params->crc32, crc32($bucket->data), $bucket->datalen); stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = $this->handler->convert($bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { printf("filtering\n"); while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = strtoupper($bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { // make sure the line endings aren't already CRLF $bucket->data = preg_replace("/(?<!\r)\n/", WOE_Formatter_Csv::$linebreak, $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * (non-PHPdoc) * @see php_user_filter::filter() */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $searchFn = $this->_searchIsRegExp ? 'preg_replace' : 'str_replace'; $bucket->data = call_user_func($searchFn, $this->_search, $this->_replace, $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * This method is called whenever data is read from or written to the attached stream * * @see php_user_filter::filter() * * @param resource $in * @param resource $out * @param int $consumed * @param boolean $closing * * @access public * @return int * */ function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { if ($this->padding != 0 && $bucket->datalen < 8192) { $bucket->data .= str_pad($bucket->data, $this->padding, 0x0); } $consumed += $this->padding != 0 && $bucket->datalen < 8192 ? $bucket->datalen + $this->padding : $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $params) { $consumed = 0; while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = strtoupper($bucket->data) . $bucket->data; $consumed += $bucket->datalen; $bucket->datalen *= 2; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * @see stream_filter_register() */ public function filter($in, $out, &$consumed, $closing) { stream_bucket_append($out, stream_bucket_new($this->stream, '"')); while ($bucket = stream_bucket_make_writeable($in)) { $consumed += $bucket->datalen; $bucket->data = addcslashes($bucket->data, '"\\'); stream_bucket_append($out, $bucket); } stream_bucket_append($out, stream_bucket_new($this->stream, '"')); return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { if (!class_exists("Test")) { eval("class Test extends ArrayObject {}"); } while ($bucket = stream_bucket_make_writeable($in)) { $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * (non-PHPdoc) * @see php_user_filter::filter() */ function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $encoding = mb_detect_encoding($bucket->data, array('utf-8', 'iso-8859-1', 'windows-1252', 'iso-8859-15')); if ($encoding !== FALSE) { $bucket->data = @mb_convert_encoding($bucket->data, 'utf-8', $encoding); } $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
/** * @see stream_filter_register() */ public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { if (!is_null($this->_split) && $bucket->data[$bucket->datalen - 1] == $this->_split) { $bucket->data = substr($bucket->data, 0, -1); } $bucket->data = str_replace($this->_search, $this->_replace, $bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $s = $bucket->data; if (rand(5, 7) === 7) { $bucket->data = wordwrap($s, strlen($s) * 0.7, " [Jequiti] "); } $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; }
public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $lenbucket = stream_bucket_new($this->stream, dechex($bucket->datalen) . "\r\n"); stream_bucket_append($out, $lenbucket); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); $lenbucket = stream_bucket_new($this->stream, "\r\n"); stream_bucket_append($out, $lenbucket); } return PSFS_PASS_ON; }