-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathEBootstrapAlert.php
85 lines (69 loc) · 1.81 KB
/
EBootstrapAlert.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
/**
* Render an alert
* http://twitter.github.com/bootstrap/javascript.html#alerts
*
* @author Tim Helfensdörfer <[email protected]>
* @version 1.0.0
* @package bootstrap.widgets
*/
class EBootstrapAlert extends EBootstrapWidget {
/**
* Type of the alert
*
* Values: warning|danger|success|info
*/
public $type = '';
/**
* Message to render
*/
public $message = '';
/**
* Display the message as a block with actions
*/
public $block = false;
/**
* Javascript file to hide the alert.
*
* If its set to false, no file will be included
*/
public $jsFile = null;
/**
* User can close the alert
*/
public $canClose = true;
/**
* Init the widget
*/
public function init() {
parent::init();
Yii::app()->clientScript->registerCoreScript('jquery');
if (is_null($this->jsFile)) {
$jsFile = dirname(__FILE__).'/js/bootstrap.min.js';
$this->jsFile = Yii::app()->getAssetManager()->publish($jsFile);
Yii::app()->clientScript->registerScriptFile($this->jsFile);
}
elseif ($this->jsFile !== false) {
Yii::app()->clientScript->registerScriptFile($this->jsFile);
}
}
/**
* Render alert
*/
public function run() {
parent::run();
if ($this->type == 'error')
$this->type = 'danger';
EBootstrap::mergeClass($this->htmlOptions, array('alert', 'alert-dismissable', 'fade', 'in'));
EBootstrap::mergeClass($this->htmlOptions, array('alert-' . $this->type));
echo EBootstrap::openTag('div', $this->htmlOptions);
if ($this->canClose)
echo EBootstrap::tag('button', array('type' => 'button', 'class' => 'close', 'data-dismiss' => 'alert', 'aria-hidden' => 'true'), "×");
if ($this->block)
echo $this->message;
else
echo EBootstrap::tag('span', array(), $this->message);
echo EBootstrap::closeTag('div');
}
}
?>