Browse Source

Account for newer stacked messages.

dereuromark 8 years ago
parent
commit
bbdde20d21
1 changed files with 17 additions and 2 deletions
  1. 17 2
      Controller/Component/FlashComponent.php

+ 17 - 2
Controller/Component/FlashComponent.php

@@ -14,8 +14,14 @@ App::uses('Inflector', 'Utility');
  */
 class FlashComponent extends Component {
 
+	/**
+	 * @var array
+	 */
 	public $components = ['Session'];
 
+	/**
+	 * @var array
+	 */
 	protected $_defaultConfig = [
 		'headerOnAjax' => true,
 		'transformCore' => true,
@@ -70,8 +76,17 @@ class FlashComponent extends Component {
 	 */
 	public function beforeRender(Controller $Controller) {
 		if ($this->settings['transformCore'] && $messages = $this->Session->read('Message')) {
-			foreach ($messages as $message) {
-				$this->message($message['message'], 'error');
+			foreach ($messages as $type => $messageArray) {
+				if (isset($messageArray['message'])) {
+					$messageArray = [$messageArray];
+				}
+				if (!is_string($type)) {
+					$type = 'error';
+				}
+				foreach ($messageArray as $message) {
+					$message['type'] = $type;
+					$this->message($message['message'], $message);
+				}
 			}
 			$this->Session->delete('Message');
 		}