5eee009d4739d60f20acd816353292bdb2308950

Author: Mark Story

Date: 2008-12-12 23:13:18 -0500

Adding FireCake::enable() and disable() to allow manual control of message output independant of debug level.

diff --git a/tests/cases/vendors/fire_cake.test.php b/tests/cases/vendors/fire_cake.test.php index af9f573..513fb96 100644 --- a/tests/cases/vendors/fire_cake.test.php +++ b/tests/cases/vendors/fire_cake.test.php @@ -201,6 +201,20 @@ class FireCakeTestCase extends CakeTestCase { $this->assertPattern('/"Trace":\[/', $dump); } /** + * test enabling and disabling of FireCake output + * + * @return void + **/ + function testEnableDisable() { + FireCake::disable(); + FireCake::trace('myTrace'); + $this->assertTrue(empty($this->firecake->sentHeaders)); + + FireCake::enable(); + FireCake::trace('myTrace'); + $this->assertFalse(empty($this->firecake->sentHeaders)); + } +/** * test correct line continuation markers on multi line headers. * * @access public diff --git a/vendors/fire_cake.php b/vendors/fire_cake.php index 8409fb8..6984439 100644 --- a/vendors/fire_cake.php +++ b/vendors/fire_cake.php @@ -90,6 +90,12 @@ class FireCake extends Object { **/ var $_methodIndex = array('info', 'log', 'warn', 'error', 'table', 'trace'); /** + * FireCake output status + * + * @var bool + **/ + var $_enabled = true; +/** * get Instance of the singleton * * @param string $class Class instance to store in the singleton. Used with subclasses and Tests. @@ -151,6 +157,25 @@ class FireCake extends Object { return env('HTTP_USER_AGENT'); } /** + * Disable FireCake output + * All subsequent output calls will not be run. + * + * @return void + **/ + function disable() { + $_this = FireCake::getInstance(); + $_this->_enabled = false; + } +/** + * Enable FireCake output + * + * @return void + **/ + function enable() { + $_this = FireCake::getInstance(); + $_this->_enabled = true; + } +/** * Convenience wrapper for LOG messages * * @param string $message Message to log @@ -273,7 +298,7 @@ class FireCake extends Object { trigger_error(sprintf(__('Headers already sent in %s on line %s. Cannot send log data to FirePHP.', true), $filename, $linenum), E_USER_WARNING); return false; } - if (!$_this->detectClientExtension()) { + if (!$_this->_enabled || !$_this->detectClientExtension()) { return false; }