Browse Source

Code cleanup.

Removed redundant declarations and checks in the code.
tags/2.0.0-beta
Kartik Visweswaran 11 years ago
parent
commit
8a436c4acb
  1. 27
      apps/advanced/frontend/widgets/Alert.php

27
apps/advanced/frontend/widgets/Alert.php

@ -7,10 +7,6 @@
namespace frontend\widgets; namespace frontend\widgets;
use yii\helpers\Html;
use yii\bootstrap\Widget;
use yii\bootstrap\Alert as BsAlert;
/** /**
* Alert widget renders a message from session flash. All flash messages are displayed * Alert widget renders a message from session flash. All flash messages are displayed
* in the sequence they were assigned using setFlash. You can set message as following: * in the sequence they were assigned using setFlash. You can set message as following:
@ -22,7 +18,7 @@ use yii\bootstrap\Alert as BsAlert;
* @author Alexander Makarov <sam@rmcerative.ru> * @author Alexander Makarov <sam@rmcerative.ru>
* @author Kartik Visweswaran <kartikv2@gmail.com> * @author Kartik Visweswaran <kartikv2@gmail.com>
*/ */
class Alert extends Widget class Alert extends \yii\bootstrap\Widget
{ {
/** /**
* @var array the allowed bootstrap alert types. * @var array the allowed bootstrap alert types.
@ -34,38 +30,23 @@ class Alert extends Widget
*/ */
public $closeButton = []; public $closeButton = [];
private $_doNotRender = true;
public function init() public function init()
{ {
$this->_doNotRender = true;
$session = \Yii::$app->getSession(); $session = \Yii::$app->getSession();
$flashes = $session->getAllFlashes(); $appendCss = isset($this->options['class']) ? $this->options['class'] : '';
$baseCssClass = isset($this->options['class']) ? $this->options['class'] : '';
foreach ($flashes as $type => $message) { foreach ($flashes as $type => $message) {
if (in_array($type, $this->allowedTypes)) { if (in_array($type, $this->allowedTypes)) {
$this->options['class'] = (($type === 'error') ? "alert-danger" : "alert-{$type}") . ' ' . $baseCssClass; $this->options['class'] = (($type === 'error') ? 'alert-danger' : 'alert-' . $type) . ' ' . $appendCss;
echo BsAlert::widget([ echo \yii\bootstrap\Alert::widget([
'body' => $message, 'body' => $message,
'closeButton' => $this->closeButton, 'closeButton' => $this->closeButton,
'options' => $this->options 'options' => $this->options
]); ]);
Html::removeCssClass($this->options, $class);
$session->removeFlash($type); $session->removeFlash($type);
$this->_doNotRender = false; $this->_doNotRender = false;
} }
} }
if (!$this->_doNotRender) {
parent::init(); parent::init();
} }
}
public function run()
{
if (!$this->_doNotRender) {
parent::run();
}
}
} }

Loading…
Cancel
Save