diff --git a/cake/libs/controller/controller.php b/cake/libs/controller/controller.php index 7ccb888b2..ebad2baa1 100644 --- a/cake/libs/controller/controller.php +++ b/cake/libs/controller/controller.php @@ -909,17 +909,18 @@ class Controller extends Object { * @param string $message Message to display to the user * @param mixed $url Relative string or array-based URL to redirect to after the time expires * @param integer $pause Time to show the message + * @param string $layout Layout you want to use, defaults to 'flash' * @return void Renders flash layout * @access public * @link http://book.cakephp.org/view/426/flash */ - function flash($message, $url, $pause = 1) { + function flash($message, $url, $pause = 1, $layout = 'flash') { $this->autoRender = false; $this->set('url', Router::url($url)); $this->set('message', $message); $this->set('pause', $pause); $this->set('page_title', $message); - $this->render(false, 'flash'); + $this->render(false, $layout); } /** diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index 0c4c717be..bd1041da9 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -721,6 +721,13 @@ class ControllerTest extends CakeTestCase { $result = str_replace(array("\t", "\r\n", "\n"), "", $result); $expected = str_replace(array("\t", "\r\n", "\n"), "", $expected); $this->assertEqual($result, $expected); + + App::build(array('views' => array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views'. DS))); + $Controller =& new Controller(); + $Controller->flash('this should work', '/flash', 1, 'ajax2'); + $result = $Controller->output; + $this->assertPattern('/Ajax!/', $result); + App::build(); } /**