Differences Between: [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403]
1 <?php 2 /** 3 * Stream filter class to remove null (\0) values. 4 * 5 * Usage: 6 * stream_filter_register('horde_null', 'Horde_Stream_Filter_Null'); 7 * stream_filter_[app|pre]pend($stream, 'horde_null', 8 * [ STREAM_FILTER_[READ|WRITE|ALL] ], 9 * [ $params ]); 10 * 11 * $params is an array that can contain the following: 12 * - replace: (string) The string to use to replace null characters with. 13 * DEFAULT: '' 14 * 15 * Copyright 2012-2017 Horde LLC (http://www.horde.org/) 16 * 17 * See the enclosed file LICENSE for license information (LGPL). If you 18 * did not receive this file, see http://www.horde.org/licenses/lgpl21. 19 * 20 * @author Michael J Rubinsky <mrubinsk@horde.org> 21 * @category Horde 22 * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 23 * @package Stream_Filter 24 */ 25 class Horde_Stream_Filter_Null extends php_user_filter 26 { 27 /** 28 * Search array. 29 * 30 * @var mixed 31 */ 32 protected $_search = "\0"; 33 34 /** 35 * Replacement data 36 * 37 * @var mixed 38 */ 39 protected $_replace; 40 41 /** 42 * @see stream_filter_register() 43 */ 44 public function onCreate() 45 { 46 $this->_replace = isset($this->params->replace) 47 ? $this->params->replace 48 : ''; 49 50 return true; 51 } 52 53 /** 54 * @see stream_filter_register() 55 */ 56 public function filter($in, $out, &$consumed, $closing) 57 { 58 while ($bucket = stream_bucket_make_writeable($in)) { 59 $bucket->data = str_replace($this->_search, $this->_replace, $bucket->data); 60 $consumed += $bucket->datalen; 61 stream_bucket_append($out, $bucket); 62 } 63 64 return PSFS_PASS_ON; 65 } 66 67 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body