See Release Notes
Long Term Support Release
Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401] [Versions 400 and 401]
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 #[ReturnTypeWillChange] 45 public function onCreate() 46 { 47 $this->_replace = isset($this->params->replace) 48 ? $this->params->replace 49 : ''; 50 51 return true; 52 } 53 54 /** 55 * @see stream_filter_register() 56 */ 57 #[ReturnTypeWillChange] 58 public function filter($in, $out, &$consumed, $closing) 59 { 60 while ($bucket = stream_bucket_make_writeable($in)) { 61 $bucket->data = str_replace($this->_search, $this->_replace, $bucket->data); 62 $consumed += $bucket->datalen; 63 stream_bucket_append($out, $bucket); 64 } 65 66 return PSFS_PASS_ON; 67 } 68 69 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body