/** * Returns all flash messages. * * You may use this method to display all the flash messages in a view file: * * ```php * <?php * foreach(Yii::$app->session->getAllFlashes() as $key => $message) { * echo '<div class="alert alert-' . $key . '">' . $message . '</div>'; * } ?> * ``` * * With the above code you can use the [bootstrap alert][] classes such as `success`, `info`, `danger` * as the flash message key to influence the color of the div. * * [bootstrap alert]: http://getbootstrap.com/components/#alerts * * @param boolean $delete whether to delete the flash messages right after this method is called. * If false, the flash messages will be automatically deleted in the next request. * @return array flash messages (key => message). * @see setFlash() * @see getFlash() * @see hasFlash() * @see removeFlash() */ public function getAllFlashes($delete = false) { $this->updateFlashCounters(); return parent::getAllFlashes($delete); // TODO: Change the autogenerated stub }
/** * Generate flashes message * * @param \yii\web\Session $session */ protected function showFlashes($session) { $flashes = $session->getAllFlashes(); foreach ($flashes as $type => $data) { $option = $this->getOption($type); if ($option) { $data = (array) $data; foreach ($data as $i => $message) { $title = $option['title']; $class = $option['class']; if ($this->enableIcon) { $title = Html::tag('i', '', ['class' => $option['icon']]) . $title; $class .= ' gritter-icon'; } $this->registerJS($title, $message, $class, '', $this->gritterOptions); } $session->removeFlash($type); } } }