From: <var...@us...> - 2016-07-20 12:47:25
|
Revision: 9891 http://sourceforge.net/p/phpwiki/code/9891 Author: vargenau Date: 2016-07-20 12:47:23 +0000 (Wed, 20 Jul 2016) Log Message: ----------- Fix buffer conflict with Fusionforge Modified Paths: -------------- trunk/lib/Request.php Modified: trunk/lib/Request.php =================================================================== --- trunk/lib/Request.php 2016-07-20 12:36:47 UTC (rev 9890) +++ trunk/lib/Request.php 2016-07-20 12:47:23 UTC (rev 9891) @@ -26,6 +26,7 @@ private $_is_compressing_output; public $_is_buffering_output; public $_ob_get_length; + private $_ob_initial_level; private $_do_chunked_output; public $_finishing; @@ -33,6 +34,8 @@ { global $request; + $this->_ob_initial_level = ob_get_level(); + $this->_fix_multipart_form_data(); switch ($this->get('REQUEST_METHOD')) { @@ -440,15 +443,15 @@ function chunkOutput() { if (!empty($this->_is_buffering_output) - or (@ob_get_level()) + or (@ob_get_level() > $this->_ob_initial_level) ) { $this->_do_chunked_output = true; if (empty($this->_ob_get_length)) $this->_ob_get_length = 0; $this->_ob_get_length += ob_get_length(); - while (ob_get_level() > 0) { + while (ob_get_level() > $this->_ob_initial_level) { ob_end_flush(); } - if (ob_get_level() > 0) { + if (ob_get_level() > $this->_ob_initial_level) { ob_end_clean(); } ob_start(); @@ -484,7 +487,7 @@ } $this->_is_buffering_output = false; ob_end_flush(); - } elseif (@ob_get_level()) { + } elseif (@ob_get_level() > $this->_ob_initial_level) { ob_end_flush(); } session_write_close(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |