Commits

Christoffer Niska  committed d5a583b

changed the class prefix

  • Participants
  • Parent commits 9e6d72a
  • Branches 1.0.0-wip

Comments (0)

Files changed (68)

File components/Bootstrap.php

 			Yii::setPathOfAlias('bootstrap', realpath(dirname(__FILE__).'/..'));
 
 		// Prevents the extension from registering scripts and publishing assets when ran from the command line.
-		if (php_sapi_name() === 'cli')
+		if (Yii::app() instanceof CConsoleApplication)
 			return;
 
 		if ($this->coreCss)

File demo/protected/controllers/SiteController.php

 			array('name'=>'lastName', 'header'=>'Last name'),
 			array('name'=>'language', 'header'=>'Language'),
 			array(
-				'class'=>'bootstrap.widgets.BootButtonColumn',
+				'class'=>'bootstrap.widgets.TbButtonColumn',
 				'viewButtonUrl'=>null,
 				'updateButtonUrl'=>null,
 				'deleteButtonUrl'=>null,

File demo/protected/views/layouts/main.php

 	}(document));
 </script>
 
-<?php $this->widget('bootstrap.widgets.BootNavbar',array(
+<?php $this->widget('bootstrap.widgets.TbNavbar',array(
 	'brand'=>CHtml::encode(Yii::app()->name),
 	'collapse'=>true,
 	'items'=>array(
 		array(
-			'class'=>'bootstrap.widgets.BootMenu',
+			'class'=>'bootstrap.widgets.TbMenu',
 			'items'=>array(
 				array('label'=>'Demo', 'url'=>Yii::app()->homeUrl,
 						'active'=>Yii::app()->controller->id === 'site' && Yii::app()->controller->action->id === 'index'),
 			<!-- AddThis Button END -->
 		</div>',
 		array(
-			'class'=>'bootstrap.widgets.BootMenu',
+			'class'=>'bootstrap.widgets.TbMenu',
 			'items'=>array(
 				array('label'=>'Bootstrap Docs', 'url'=>'http://twitter.github.com/bootstrap', 'linkOptions'=>array('target'=>'_blank')),
 				array('label'=>'Fork me on Bitbucket', 'url'=>'http://www.bitbucket.org/Crisu83/yii-bootstrap', 'linkOptions'=>array('target'=>'_blank')),
 
 <div class="container">
 
-	<?php $this->beginWidget('bootstrap.widgets.BootHero', array(
+	<?php $this->beginWidget('bootstrap.widgets.TbHeroUnit', array(
 		'heading'=>Yii::app()->name,
 	)); ?>
 		<p>
 	<?php $this->endWidget(); ?>
 
 	<?php if (!empty($this->breadcrumbs)):?>
-		<?php $this->widget('bootstrap.widgets.BootBreadcrumbs', array(
+		<?php $this->widget('bootstrap.widgets.TbBreadcrumbs', array(
 			'links'=>$this->breadcrumbs,
 		)); ?>
 	<?php endif?>

File demo/protected/views/site/index.php

 	Yii::app()->user->setFlash('error', '<strong>Oh snap!</strong> Change a few things up and try submitting again.');
 	?>
 
-	<?php $this->widget('bootstrap.widgets.BootAlert', array(
+	<?php $this->widget('bootstrap.widgets.TbAlert', array(
 		'events'=>array(
 			'close'=>"js:function() { console.log('Alert close.'); }",
 			'closed'=>"js:function() { console.log('Alert closed.'); }",
 Yii::app()->user->setFlash('error', '<strong>Oh snap!</strong> Change a few things up and try submitting again.');
 ?>"); ?>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootAlert'); ?>"); ?>
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbAlert'); ?>"); ?>
 
 	<a class="top" href="#top">Back to top &uarr;</a>
 
 
 	<h2>Breadcrumbs</h2>
 
-	<?php $this->widget('bootstrap.widgets.BootBreadcrumbs', array(
+	<?php $this->widget('bootstrap.widgets.TbBreadcrumbs', array(
 		'links'=>array(),
 	)); ?>
 
-	<?php $this->widget('bootstrap.widgets.BootBreadcrumbs', array(
+	<?php $this->widget('bootstrap.widgets.TbBreadcrumbs', array(
 		'links'=>array('Library'),
 	)); ?>
 
-	<?php $this->widget('bootstrap.widgets.BootBreadcrumbs', array(
+	<?php $this->widget('bootstrap.widgets.TbBreadcrumbs', array(
 		'links'=>array('Library'=>'#', 'Data'),
 	)); ?>
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootBreadcrumbs', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbBreadcrumbs', array(
 	'links'=>array('Library'=>'#', 'Data'),
 )); ?>"); ?>
 
 
 	<h2>Navbar</h2>
 
-	<?php $this->widget('bootstrap.widgets.BootNavbar', array(
+	<?php $this->widget('bootstrap.widgets.TbNavbar', array(
 		'fixed'=>false,
 		'brand'=>'Project name',
 		'brandUrl'=>'#',
 		'collapse'=>true, // requires bootstrap-responsive.css
 		'items'=>array(
 			array(
-				'class'=>'bootstrap.widgets.BootMenu',
+				'class'=>'bootstrap.widgets.TbMenu',
 				'items'=>array(
 					array('label'=>'Home', 'url'=>'#', 'active'=>true),
 					array('label'=>'Link', 'url'=>'#'),
 			),
 			'<form class="navbar-search pull-left" action=""><input type="text" class="search-query span2" placeholder="Search"></form>',
 			array(
-				'class'=>'bootstrap.widgets.BootMenu',
+				'class'=>'bootstrap.widgets.TbMenu',
 				'htmlOptions'=>array('class'=>'pull-right'),
 				'items'=>array(
 					array('label'=>'Link', 'url'=>'#'),
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootNavbar', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbNavbar', array(
 	'fixed'=>false,
 	'brand'=>'Project name',
 	'brandUrl'=>'#',
 	'collapse'=>true, // requires bootstrap-responsive.css
 	'items'=>array(
 		array(
-			'class'=>'bootstrap.widgets.BootMenu',
+			'class'=>'bootstrap.widgets.TbMenu',
 			'items'=>array(
 				array('label'=>'Home', 'url'=>'#', 'active'=>true),
 				array('label'=>'Link', 'url'=>'#'),
 		),
 		'<form class=\"navbar-search pull-left\" action=\"\"><input type=\"text\" class=\"search-query span2\" placeholder=\"Search\"></form>',
 		array(
-			'class'=>'bootstrap.widgets.BootMenu',
+			'class'=>'bootstrap.widgets.TbMenu',
 			'htmlOptions'=>array('class'=>'pull-right'),
 			'items'=>array(
 				array('label'=>'Link', 'url'=>'#'),
 
 	<h3>Basic tabs</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootMenu', array(
+	<?php $this->widget('bootstrap.widgets.TbMenu', array(
 		'type'=>'tabs',
 		'items'=>array(
 			array('label'=>'Home', 'url'=>'#', 'active'=>true),
 
 	<h3>Stacked tabs</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootMenu', array(
+	<?php $this->widget('bootstrap.widgets.TbMenu', array(
 		'type'=>'tabs',
 		'stacked'=>true,
 		'items'=>array(
 
 	<h3>Basic pills</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootMenu', array(
+	<?php $this->widget('bootstrap.widgets.TbMenu', array(
 		'type'=>'pills',
 		'items'=>array(
 			array('label'=>'Home', 'url'=>'#', 'active'=>true),
 
 	<h3>Stacked pills</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootMenu', array(
+	<?php $this->widget('bootstrap.widgets.TbMenu', array(
 		'type'=>'pills',
 		'stacked'=>true,
 		'items'=>array(
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootMenu', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbMenu', array(
 	'type'=>'tabs', // '', 'tabs', 'pills' (or 'list')
 	'stacked'=>false, // whether this is a stacked menu
 	'items'=>array(
 
 	<div class="well" style="padding: 8px 0;">
 
-		<?php $this->widget('bootstrap.widgets.BootMenu', array(
+		<?php $this->widget('bootstrap.widgets.TbMenu', array(
 			'type'=>'list',
 			'items'=>array(
 				array('label'=>'LIST HEADER'),
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootMenu', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbMenu', array(
 	'type'=>'list',
 	'items'=>array(
 		array('label'=>'LIST HEADER'),
 
 	<h2>Tabbable</h2>
 
-	<?php $this->widget('bootstrap.widgets.BootTabbable', array(
+	<?php $this->widget('bootstrap.widgets.TbTabbable', array(
 		'type'=>'tabs', // 'tabs' or 'pills'
 		'htmlOptions'=>array('class'=>'tabbable'),
 		'tabs'=>$tabs,
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootTabbable', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbTabbable', array(
 	'type'=>'tabs', // 'tabs' or 'pills'
 	'tabs'=>array(
 		array('label'=>'Home', 'content'=>'Raw denim you probably haven\'t heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.', 'active'=>true),
 
 			<h3>Tabs on the top</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootTabbable', array(
+			<?php $this->widget('bootstrap.widgets.TbTabbable', array(
 				'htmlOptions'=>array('class'=>'tabbable tabbable-placed'),
 				'tabs'=>$tabbable,
 			)); ?>
 
 			<h3>Tabs on the left</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootTabbable', array(
+			<?php $this->widget('bootstrap.widgets.TbTabbable', array(
 				'placement'=>'left',
 				'htmlOptions'=>array('class'=>'tabbable tabbable-placed'),
 				'tabs'=>$tabbable,
 
 			<h3>Tabs on the bottom</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootTabbable', array(
+			<?php $this->widget('bootstrap.widgets.TbTabbable', array(
 				'placement'=>'below',
 				'htmlOptions'=>array('class'=>'tabbable tabbable-placed'),
 				'tabs'=>$tabbable,
 
 			<h3>Tabs on the right</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootTabbable', array(
+			<?php $this->widget('bootstrap.widgets.TbTabbable', array(
 				'placement'=>'right',
 				'htmlOptions'=>array('class'=>'tabbable tabbable-placed'),
 				'tabs'=>$tabbable,
 
 	</div>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootTabbable', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbTabbable', array(
 	'type'=>'tabs',
 	'placement'=>'below', // 'above', 'right', 'below' or 'left'
 	'tabs'=>array(
 
 	<h2>Detail views</h2>
 
-	<?php $this->widget('bootstrap.widgets.BootDetailView', array(
+	<?php $this->widget('bootstrap.widgets.TbDetailView', array(
 		'data'=>array('id'=>1, 'firstName'=>'Mark', 'lastName'=>'Otto', 'language'=>'CSS'),
 		'attributes'=>array(
 			array('name'=>'firstName', 'label'=>'First name'),
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootDetailView', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbDetailView', array(
 	'data'=>array('id'=>1, 'firstName'=>'Mark', 'lastName'=>'Otto', 'language'=>'CSS'),
 	'attributes'=>array(
 		array('name'=>'firstName', 'label'=>'First name'),
 
 	<h3>Default</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootGridView', array(
+	<?php $this->widget('bootstrap.widgets.TbGridView', array(
 		'dataProvider'=>$gridDataProvider,
 		'template'=>"{items}",
 		'columns'=>$gridColumns,
 
 	<h3>Striped</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootGridView', array(
+	<?php $this->widget('bootstrap.widgets.TbGridView', array(
 		'type'=>'striped',
 		'dataProvider'=>$gridDataProvider,
 		'template'=>"{items}",
 
 	<h3>Bordered</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootGridView', array(
+	<?php $this->widget('bootstrap.widgets.TbGridView', array(
 		'type'=>'bordered',
 		'dataProvider'=>$gridDataProvider,
 		'template'=>"{items}",
 
 	<h3>Condensed</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootGridView', array(
+	<?php $this->widget('bootstrap.widgets.TbGridView', array(
 		'type'=>'condensed',
 		'dataProvider'=>$gridDataProvider,
 		'template'=>"{items}",
 
 	<h3>Striped, bordered and condensed</h3>
 
-	<?php $this->widget('bootstrap.widgets.BootGridView', array(
+	<?php $this->widget('bootstrap.widgets.TbGridView', array(
 		'type'=>'striped bordered condensed',
 		'dataProvider'=>$gridDataProvider,
 		'template'=>"{items}",
 	array('id'=>3, 'firstName'=>'Stu', 'lastName'=>'Dent', 'language'=>'HTML'),
 ));"); ?>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootGridView', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbGridView', array(
 	'type'=>'striped bordered condensed',
 	'dataProvider'=>\$gridDataProvider,
 	'template'=>\"{items}\",
 		array('name'=>'lastName', 'header'=>'Last name'),
 		array('name'=>'language', 'header'=>'Language'),
 		array(
-			'class'=>'bootstrap.widgets.BootButtonColumn',
+			'class'=>'bootstrap.widgets.TbButtonColumn',
 			'htmlOptions'=>array('style'=>'width: 50px'),
 		),
 	),
 
 	<h2>Thumbnails</h2>
 
-	<?php $this->widget('bootstrap.widgets.BootThumbnails', array(
+	<?php $this->widget('bootstrap.widgets.TbThumbnails', array(
 		'dataProvider'=>$listDataProvider,
 		'template'=>"{items}\n{pager}",
 		'itemView'=>'_thumb',
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootThumbnails', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbThumbnails', array(
 	'dataProvider'=>\$listDataProvider,
 	'template'=>\"{items}\\n{pager}\",
 	'itemView'=>'_thumb',
 	<h2>Popovers</h2>
 
 	<div class="well">
-		<?php $this->widget('bootstrap.widgets.BootButton', array(
+		<?php $this->widget('bootstrap.widgets.TbButton', array(
 			'label'=>'Hover me',
 			'type'=>'danger',
 			'htmlOptions'=>array('data-title'=>'Heading', 'data-content'=>'Content ...', 'rel'=>'popover'),
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButton', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButton', array(
 	'label'=>'Hover me',
 	'type'=>'danger',
 	'htmlOptions'=>array('data-title'=>'Heading', 'data-content'=>'Content ...', 'rel'=>'popover'),
 
 	<h2>Modals</h2>
 
-	<?php $this->beginWidget('bootstrap.widgets.BootModal', array(
+	<?php $this->beginWidget('bootstrap.widgets.TbModal', array(
 		'id'=>'myModal',
 		'events'=>array(
 			'show'=>"js:function() { console.log('Modal show.'); }",
 	</div>
 
 	<div class="modal-footer">
-		<?php $this->widget('bootstrap.widgets.BootButton', array('type'=>'primary', 'label'=>'Save changes', 'url'=>'#', 'htmlOptions'=>array('data-dismiss'=>'modal'))); ?>
-		<?php $this->widget('bootstrap.widgets.BootButton', array('label'=>'Close', 'url'=>'#', 'htmlOptions'=>array('data-dismiss'=>'modal'))); ?>
+		<?php $this->widget('bootstrap.widgets.TbButton', array('type'=>'primary', 'label'=>'Save changes', 'url'=>'#', 'htmlOptions'=>array('data-dismiss'=>'modal'))); ?>
+		<?php $this->widget('bootstrap.widgets.TbButton', array('label'=>'Close', 'url'=>'#', 'htmlOptions'=>array('data-dismiss'=>'modal'))); ?>
 	</div>
 
 	<?php $this->endWidget(); ?>
 
 	<div class="well">
-		<?php $this->widget('bootstrap.widgets.BootButton', array(
+		<?php $this->widget('bootstrap.widgets.TbButton', array(
 			'label'=>'Click me',
 			'url'=>'#myModal',
 			'type'=>'primary',
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->beginWidget('bootstrap.widgets.BootModal', array('id'=>'myModal')); ?>
+<?php echo $phpLighter->highlight("<?php \$this->beginWidget('bootstrap.widgets.TbModal', array('id'=>'myModal')); ?>
 
 <div class=\"modal-header\">
 	<a class=\"close\" data-dismiss=\"modal\">&times;</a>
 </div>
 
 <div class=\"modal-footer\">
-	<?php \$this->widget('bootstrap.widgets.BootButton', array(
+	<?php \$this->widget('bootstrap.widgets.TbButton', array(
 		'type'=>'primary',
 		'label'=>'Save changes',
 		'url'=>'#',
 		'htmlOptions'=>array('data-dismiss'=>'modal'),
 	)); ?>
-	<?php \$this->widget('bootstrap.widgets.BootButton', array(
+	<?php \$this->widget('bootstrap.widgets.TbButton', array(
 		'label'=>'Close',
 		'url'=>'#',
 		'htmlOptions'=>array('data-dismiss'=>'modal'),
 
 <?php \$this->endWidget(); ?>"); ?>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButton', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButton', array(
 	'label'=>'Click me',
 	'url'=>'#myModal',
 	'type'=>'primary',
 
 	<h3>Vertical</h3>
 
-	<?php /** @var BootActiveForm $form */
-	$form = $this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+	<?php /** @var TbActiveForm $form */
+	$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 		'id'=>'verticalForm',
 		'htmlOptions'=>array('class'=>'well'),
 	)); ?>
 	<?php echo $form->textFieldRow($model, 'textField', array('class'=>'span3')); ?>
 	<?php echo $form->passwordFieldRow($model, 'password', array('class'=>'span3')); ?>
 	<?php echo $form->checkboxRow($model, 'checkbox'); ?>
-	<?php $this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'icon'=>'ok', 'label'=>'Submit')); ?>
+	<?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'icon'=>'ok', 'label'=>'Submit')); ?>
 
 	<?php $this->endWidget(); ?>
 
 	<h4>Source code</h4>
 
 <?php echo $phpLighter->highlight("<?php /** @var BootActiveForm \$form */
-\$form = \$this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+\$form = \$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 	'id'=>'verticalForm',
 	'htmlOptions'=>array('class'=>'well'),
 )); ?>
 <?php echo \$form->textFieldRow(\$model, 'textField', array('class'=>'span3')); ?>
 <?php echo \$form->passwordFieldRow(\$model, 'password', array('class'=>'span3')); ?>
 <?php echo \$form->checkboxRow(\$model, 'checkbox'); ?>
-<?php \$this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'icon'=>'ok', 'label'=>'Submit')); ?>
+<?php \$this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'icon'=>'ok', 'label'=>'Submit')); ?>
 
 <?php \$this->endWidget(); ?>"); ?>
 
 	<h3>Search</h3>
 
-	<?php /** @var BootActiveForm $form */
-	$form = $this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+	<?php /** @var TbActiveForm $form */
+	$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 		'id'=>'searchForm',
 		'type'=>'search',
 		'htmlOptions'=>array('class'=>'well'),
 	)); ?>
 
 	<?php echo $form->textFieldRow($model, 'textField', array('class'=>'input-medium')); ?>
-	<?php $this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'icon'=>'search', 'label'=>'Search')); ?>
+	<?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'icon'=>'search', 'label'=>'Search')); ?>
 
 	<?php $this->endWidget(); ?>
 
 	<h4>Source code</h4>
 
 <?php echo $phpLighter->highlight("<?php /** @var BootActiveForm \$form */
-\$form = \$this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+\$form = \$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 	'id'=>'searchForm',
 	'type'=>'search',
 	'htmlOptions'=>array('class'=>'well'),
 )); ?>
 
 <?php echo \$form->textFieldRow(\$model, 'textField', array('class'=>'input-medium')); ?>
-<?php \$this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'icon'=>'search', 'label'=>'Search')); ?>
+<?php \$this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'icon'=>'search', 'label'=>'Search')); ?>
 
 <?php \$this->endWidget(); ?>"); ?>
 
 	<h3>Inline</h3>
 
-	<?php /** @var BootActiveForm $form */
-	$form = $this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+	<?php /** @var TbActiveForm $form */
+	$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 		'id'=>'inlineForm',
 		'type'=>'inline',
 		'htmlOptions'=>array('class'=>'well'),
 
 	<?php echo $form->textFieldRow($model, 'textField', array('class'=>'input-small')); ?>
 	<?php echo $form->passwordFieldRow($model, 'password', array('class'=>'input-small')); ?>
-	<?php $this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'icon'=>'arrow-right', 'label'=>'Log in')); ?>
+	<?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'icon'=>'arrow-right', 'label'=>'Log in')); ?>
 
 	<?php $this->endWidget(); ?>
 
 	<h4>Source code</h4>
 
 <?php echo $phpLighter->highlight("<?php /** @var BootActiveForm \$form */
-\$form = \$this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+\$form = \$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 	'id'=>'inlineForm',
 	'type'=>'inline',
 	'htmlOptions'=>array('class'=>'well'),
 
 <?php echo \$form->textFieldRow(\$model, 'textField', array('class'=>'input-small')); ?>
 <?php echo \$form->passwordFieldRow(\$model, 'password', array('class'=>'input-small')); ?>
-<?php \$this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'icon'=>'arrow-right', 'label'=>'Log in')); ?>
+<?php \$this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'icon'=>'arrow-right', 'label'=>'Log in')); ?>
 
 <?php \$this->endWidget(); ?>"); ?>
 
 	<h3>Horizontal</h3>
 
-	<?php /** @var BootActiveForm $form */
-	$form = $this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+	<?php /** @var TbActiveForm $form */
+	$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 		'id'=>'horizontalForm',
 		'type'=>'horizontal',
 	)); ?>
 	</fieldset>
 
 	<div class="form-actions">
-		<?php $this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'type'=>'primary', 'icon'=>'ok white', 'label'=>'Submit')); ?>
-		<?php $this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'reset', 'icon'=>'remove', 'label'=>'Reset')); ?>
+		<?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'type'=>'primary', 'icon'=>'ok white', 'label'=>'Submit')); ?>
+		<?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'reset', 'icon'=>'remove', 'label'=>'Reset')); ?>
 	</div>
 
 	<?php $this->endWidget(); ?>
 	<h4>Source code</h4>
 
 <?php echo $phpLighter->highlight("<?php /** @var BootActiveForm \$form */
-\$form = \$this->beginWidget('bootstrap.widgets.BootActiveForm', array(
+\$form = \$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
 	'id'=>'horizontalForm',
 	'type'=>'horizontal',
 )); ?>
 </fieldset>
 
 <div class=\"form-actions\">
-	<?php \$this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'submit', 'type'=>'primary', 'icon'=>'ok white', 'label'=>'Submit')); ?>
-	<?php \$this->widget('bootstrap.widgets.BootButton', array('buttonType'=>'reset', 'icon'=>'remove', 'label'=>'Reset')); ?>
+	<?php \$this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'type'=>'primary', 'icon'=>'ok white', 'label'=>'Submit')); ?>
+	<?php \$this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'reset', 'icon'=>'remove', 'label'=>'Reset')); ?>
 </div>
 
 <?php \$this->endWidget(); ?>"); ?>
 		<div class="span3">
 			<h3>Large</h3>
 			<p>
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Primary', 'type'=>'primary', 'size'=>'large',
 				)); ?>
 
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Action', 'size'=>'large',
 				)); ?>
 			</p>
 		<div class="span3">
 			<h3>Normal</h3>
 			<p>
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Primary', 'type'=>'primary',
 				)); ?>
 
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Action',
 				)); ?>
 			</p>
 		<div class="span3">
 			<h3>Small</h3>
 			<p>
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Primary', 'type'=>'primary', 'size'=>'small',
 				)); ?>
 
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Action', 'size'=>'small',
 				)); ?>
 			</p>
 		<div class="span3">
 			<h3>Mini</h3>
 			<p>
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Primary', 'type'=>'primary', 'size'=>'mini',
 				)); ?>
 
-				<?php $this->widget('bootstrap.widgets.BootButton', array(
+				<?php $this->widget('bootstrap.widgets.TbButton', array(
 					'label'=>'Action', 'size'=>'mini',
 				)); ?>
 			</p>
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButton', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButton', array(
 	'label'=>'Primary',
 	'type'=>'primary', // '', 'primary', 'info', 'success', 'warning', 'danger' or 'inverse'
 	'size'=>'large', // '', 'large', 'small' or 'mini'
 	<h3>Button groups</h3>
 
 	<div class="btn-toolbar">
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'buttons'=>array(
 				array('label'=>'Left', 'url'=>'#'),
 				array('label'=>'Middle', 'url'=>'#'),
 	</div>
 
 	<div class="btn-toolbar">
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'buttons'=>array(
 				array('label'=>'1', 'url'=>'#'),
 				array('label'=>'2', 'url'=>'#'),
 				array('label'=>'4', 'url'=>'#'),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'buttons'=>array(
 				array('label'=>'5', 'url'=>'#'),
 				array('label'=>'6', 'url'=>'#'),
 				array('label'=>'7', 'url'=>'#'),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'buttons'=>array(
 				array('label'=>'8', 'url'=>'#'),
 			),
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButtonGroup', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButtonGroup', array(
 	'buttons'=>array(
 		array('label'=>'1', 'url'=>'#'),
 		array('label'=>'2', 'url'=>'#'),
 	<h3>Dropdowns</h3>
 
 	<div class="btn-toolbar">
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'buttons'=>array(
 				array('label'=>'Action', 'items'=>array(
 					array('label'=>'Action', 'url'=>'#'),
 				)),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'primary',
 			'buttons'=>array(
 				array('label'=>'Action', 'items'=>array(
 				)),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'danger',
 			'buttons'=>array(
 				array('label'=>'Danger', 'items'=>array(
 		)); ?>
 	</div>
 	<div class="btn-toolbar">
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'success',
 			'buttons'=>array(
 				array('label'=>'Success', 'items'=>array(
 				)),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'info',
 			'buttons'=>array(
 				array('label'=>'Info', 'items'=>array(
 	<h4>Source code</h4>
 
 <?php echo $phpLighter->highlight("<div class=\"btn-toolbar\">
-	<?php \$this->widget('bootstrap.widgets.BootButtonGroup', array(
+	<?php \$this->widget('bootstrap.widgets.TbButtonGroup', array(
 		'type'=>'primary', // '', 'primary', 'info', 'success', 'warning', 'danger' or 'inverse'
 		'buttons'=>array(
 			array('label'=>'Action', 'items'=>array(
 	<h3>Split dropdowns</h3>
 
 	<div class="btn-toolbar">
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'buttons'=>array(
 				array('label'=>'Action', 'url'=>'#'),
 				array('items'=>array(
 				)),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'primary',
 			'buttons'=>array(
 				array('label'=>'Action', 'url'=>'#'),
 				)),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'danger',
 			'buttons'=>array(
 				array('label'=>'Danger', 'url'=>'#'),
 		)); ?>
 	</div>
 	<div class="btn-toolbar">
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'success',
 			'buttons'=>array(
 				array('label'=>'Success', 'url'=>'#'),
 				)),
 			),
 		)); ?>
-		<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+		<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 			'type'=>'info',
 			'buttons'=>array(
 				array('label'=>'Info', 'url'=>'#'),
 	<h4>Source code</h4>
 
 <?php echo $phpLighter->highlight("<div class=\"btn-toolbar\">
-	<?php \$this->widget('bootstrap.widgets.BootButtonGroup', array(
+	<?php \$this->widget('bootstrap.widgets.TbButtonGroup', array(
 	    'type'=>'primary', // '', 'primary', 'info', 'success', 'warning', 'danger' or 'inverse'
 		'buttons'=>array(
 			array('label'=>'Action', 'url'=>'#'),
 	<h3>Stateful</h3>
 
 	<p>
-		<?php $this->widget('bootstrap.widgets.BootButton', array(
+		<?php $this->widget('bootstrap.widgets.TbButton', array(
 			'buttonType'=>'button',
 			'type'=>'primary',
 			'label'=>'Click me',
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButton', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButton', array(
 	'buttonType'=>'button',
 	'type'=>'primary',
 	'label'=>'Click me',
 	<h3>Single state</h3>
 
 	<p>
-		<?php $this->widget('bootstrap.widgets.BootButton', array(
+		<?php $this->widget('bootstrap.widgets.TbButton', array(
 			'buttonType'=>'button',
 			'type'=>'primary',
 			'label'=>'Toggle me',
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButton', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButton', array(
 	'buttonType'=>'button',
 	'type'=>'primary',
 	'label'=>'Toggle me',
 
 			<h3>Checkbox</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+			<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 				'type' => 'primary',
 				'toggle' => 'checkbox',
 				'buttons' => array(
 
 			<h3>Radio</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootButtonGroup', array(
+			<?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
 				'type' => 'primary',
 				'toggle' => 'radio',
 				'buttons' => array(
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootButtonGroup', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbButtonGroup', array(
 	'type' => 'primary',
 	'toggle' => 'radio', // 'checkbox' or 'radio'
 	'buttons' => array(
 
 	<h2>Hero unit</h2>
 
-	<?php $this->beginWidget('bootstrap.widgets.BootHero', array(
+	<?php $this->beginWidget('bootstrap.widgets.TbHeroUnit', array(
 		'heading'=>'Hello, world!',
 	)); ?>
 	
 		<p>This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
-		<p><?php $this->widget('bootstrap.widgets.BootButton', array(
+		<p><?php $this->widget('bootstrap.widgets.TbButton', array(
 			'type'=>'primary',
 			'size'=>'large',
 			'label'=>'Learn more',
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->beginWidget('bootstrap.widgets.BootHero', array(
+<?php echo $phpLighter->highlight("<?php \$this->beginWidget('bootstrap.widgets.TbHeroUnit', array(
 	'heading'=>'Hello, world!',
 )); ?>
 
 	<p>This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
-	<p><?php \$this->widget('bootstrap.widgets.BootButton', array(
+	<p><?php \$this->widget('bootstrap.widgets.TbButton', array(
 		'type'=>'primary',
 		'size'=>'large',
 		'label'=>'Learn more',
 
 	<h2>Carousel</h2>
 
-	<?php $this->widget('bootstrap.widgets.BootCarousel', array(
+	<?php $this->widget('bootstrap.widgets.TbCarousel', array(
 		'items'=>array(
 			array('image'=>'http://placehold.it/770x400&text=First+thumbnail', 'label'=>'First Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'),
 			array('image'=>'http://placehold.it/770x400&text=Second+thumbnail', 'label'=>'Second Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'),
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootCarousel', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbCarousel', array(
 	'items'=>array(
 		array('image'=>'http://placehold.it/770x400&text=First+thumbnail', 'label'=>'First Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'),
 		array('image'=>'http://placehold.it/770x400&text=Second+thumbnail', 'label'=>'Second Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'),
 
 			<h3>Basic</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootProgress', array(
+			<?php $this->widget('bootstrap.widgets.TbProgress', array(
 				'percent'=>30,
 			)); ?>
 
 
 			<h3>Striped</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootProgress', array(
+			<?php $this->widget('bootstrap.widgets.TbProgress', array(
 				'type'=>'info',
 				'percent'=>20,
 				'striped'=>true,
 
 			<h3>Animated</h3>
 
-			<?php $this->widget('bootstrap.widgets.BootProgress', array(
+			<?php $this->widget('bootstrap.widgets.TbProgress', array(
 				'type'=>'danger', // '', 'info', 'success' or 'danger'
 				'percent'=>40, // the progress
 				'striped'=>true,
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootProgress', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbProgress', array(
 	'type'=>'danger', // '', 'info', 'success' or 'danger'
 	'percent'=>40, // the progress
 	'striped'=>true,
 
 	<div class="well">
 
-		<?php $this->widget('bootstrap.widgets.BootTypeahead', array(
+		<?php $this->widget('bootstrap.widgets.TbTypeahead', array(
 			'options'=>array(
 				'source'=>array('Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'),
 				'items'=>4,
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootTypeahead', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbTypeahead', array(
 	'options'=>array(
 		'source'=>array('Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'),
 		'items'=>4,
 	<h2>Labels</h2>
 
 	<p>
-		<?php $this->widget('bootstrap.widgets.BootLabel', array('label'=>'Default')); ?>
-		<?php $this->widget('bootstrap.widgets.BootLabel', array('type'=>'success', 'label'=>'Success')); ?>
-		<?php $this->widget('bootstrap.widgets.BootLabel', array('type'=>'warning', 'label'=>'Warning')); ?>
-		<?php $this->widget('bootstrap.widgets.BootLabel', array('type'=>'important', 'label'=>'Important')); ?>
-		<?php $this->widget('bootstrap.widgets.BootLabel', array('type'=>'info', 'label'=>'Info')); ?>
-		<?php $this->widget('bootstrap.widgets.BootLabel', array('type'=>'inverse', 'label'=>'Inverse')); ?>
+		<?php $this->widget('bootstrap.widgets.TbLabel', array('label'=>'Default')); ?>
+		<?php $this->widget('bootstrap.widgets.TbLabel', array('type'=>'success', 'label'=>'Success')); ?>
+		<?php $this->widget('bootstrap.widgets.TbLabel', array('type'=>'warning', 'label'=>'Warning')); ?>
+		<?php $this->widget('bootstrap.widgets.TbLabel', array('type'=>'important', 'label'=>'Important')); ?>
+		<?php $this->widget('bootstrap.widgets.TbLabel', array('type'=>'info', 'label'=>'Info')); ?>
+		<?php $this->widget('bootstrap.widgets.TbLabel', array('type'=>'inverse', 'label'=>'Inverse')); ?>
 	</p>
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootLabel', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbLabel', array(
 	'type'=>'success', // '', 'success', 'warning', 'important', 'info' or 'inverse'
 	'label'=>'Success',
 )); ?>"); ?>
 	<h2>Badges</h2>
 
 	<p>
-		<?php $this->widget('bootstrap.widgets.BootBadge', array('label'=>'1')); ?>
-		<?php $this->widget('bootstrap.widgets.BootBadge', array('type'=>'success', 'label'=>'2')); ?>
-		<?php $this->widget('bootstrap.widgets.BootBadge', array('type'=>'warning', 'label'=>'4')); ?>
-		<?php $this->widget('bootstrap.widgets.BootBadge', array('type'=>'error', 'label'=>'6')); ?>
-		<?php $this->widget('bootstrap.widgets.BootBadge', array('type'=>'info', 'label'=>'8')); ?>
-		<?php $this->widget('bootstrap.widgets.BootBadge', array('type'=>'inverse', 'label'=>'10')); ?>
+		<?php $this->widget('bootstrap.widgets.TbBadge', array('label'=>'1')); ?>
+		<?php $this->widget('bootstrap.widgets.TbBadge', array('type'=>'success', 'label'=>'2')); ?>
+		<?php $this->widget('bootstrap.widgets.TbBadge', array('type'=>'warning', 'label'=>'4')); ?>
+		<?php $this->widget('bootstrap.widgets.TbBadge', array('type'=>'error', 'label'=>'6')); ?>
+		<?php $this->widget('bootstrap.widgets.TbBadge', array('type'=>'info', 'label'=>'8')); ?>
+		<?php $this->widget('bootstrap.widgets.TbBadge', array('type'=>'inverse', 'label'=>'10')); ?>
 	</p>
 
 	<h4>Source code</h4>
 
-<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.BootBadge', array(
+<?php echo $phpLighter->highlight("<?php \$this->widget('bootstrap.widgets.TbBadge', array(
 	'type'=>'success', // '', 'success', 'warning', 'error', 'info' or 'inverse'
 	'label'=>'2',
 )); ?>"); ?>
 
 <div class="subnav well">
 
-	<?php $this->widget('BootMenu', array(
+	<?php $this->widget('TbMenu', array(
 		'type'=>'list',
 		'scrollspy'=>array('spy'=>'.subnav', 'offset'=>50),
 		'items'=>array(

File demo/protected/views/site/setup.php

 
 <div class="subnav well">
 
-	<?php $this->widget('bootstrap.widgets.BootMenu', array(
+	<?php $this->widget('bootstrap.widgets.TbMenu', array(
 		'type'=>'list',
 		'scrollspy'=>array('spy'=>'.subnav', 'offset'=>50),
 		'items'=>array(

File gii/bootstrap/templates/default/_form.php

  * - $this: the BootCrudCode object
  */
 ?>
-<?php echo "<?php \$form=\$this->beginWidget('bootstrap.widgets.BootActiveForm',array(
+<?php echo "<?php \$form=\$this->beginWidget('bootstrap.widgets.TbActiveForm',array(
 	'id'=>'".$this->class2id($this->modelClass)."-form',
 	'enableAjaxValidation'=>false,
 )); ?>\n"; ?>
 }
 ?>
 	<div class="form-actions">
-		<?php echo "<?php \$this->widget('bootstrap.widgets.BootButton', array(
+		<?php echo "<?php \$this->widget('bootstrap.widgets.TbButton', array(
 			'buttonType'=>'submit',
 			'type'=>'primary',
 			'label'=>\$model->isNewRecord ? 'Create' : 'Save',

File gii/bootstrap/templates/default/_search.php

  * - $this: the BootCrudCode object
  */
 ?>
-<?php echo "<?php \$form=\$this->beginWidget('bootstrap.widgets.BootActiveForm',array(
+<?php echo "<?php \$form=\$this->beginWidget('bootstrap.widgets.TbActiveForm',array(
 	'action'=>Yii::app()->createUrl(\$this->route),
 	'method'=>'get',
 )); ?>\n"; ?>
 
 <?php endforeach; ?>
 	<div class="form-actions">
-		<?php echo "<?php \$this->widget('bootstrap.widgets.BootButton', array(
+		<?php echo "<?php \$this->widget('bootstrap.widgets.TbButton', array(
 			'type'=>'primary',
 			'label'=>'Search',
 		)); ?>\n"; ?>

File gii/bootstrap/templates/default/admin.php

 )); ?>\n"; ?>
 </div><!-- search-form -->
 
-<?php echo "<?php"; ?> $this->widget('bootstrap.widgets.BootGridView',array(
+<?php echo "<?php"; ?> $this->widget('bootstrap.widgets.TbGridView',array(
 	'id'=>'<?php echo $this->class2id($this->modelClass); ?>-grid',
 	'dataProvider'=>$model->search(),
 	'filter'=>$model,
 	echo "\t\t*/\n";
 ?>
 		array(
-			'class'=>'bootstrap.widgets.BootButtonColumn',
+			'class'=>'bootstrap.widgets.TbButtonColumn',
 		),
 	),
 )); ?>

File gii/bootstrap/templates/default/index.php

 
 <h1><?php echo $label; ?></h1>
 
-<?php echo "<?php"; ?> $this->widget('bootstrap.widgets.BootListView',array(
+<?php echo "<?php"; ?> $this->widget('bootstrap.widgets.TbListView',array(
 	'dataProvider'=>$dataProvider,
 	'itemView'=>'_view',
 )); ?>

File gii/bootstrap/templates/default/view.php

 
 <h1>View <?php echo $this->modelClass." #<?php echo \$model->{$this->tableSchema->primaryKey}; ?>"; ?></h1>
 
-<?php echo "<?php"; ?> $this->widget('bootstrap.widgets.BootDetailView',array(
+<?php echo "<?php"; ?> $this->widget('bootstrap.widgets.TbDetailView',array(
 	'data'=>$model,
 	'attributes'=>array(
 <?php

File widgets/BootActiveForm.php

-<?php
-/**
- * BootActiveForm class file.
- * @author Christoffer Niska <ChristofferNiska@gmail.com>
- * @copyright Copyright &copy; Christoffer Niska 2011-
- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
- * @package bootstrap.widgets
- */
-
-Yii::import('bootstrap.widgets.input.BootInput');
-
-/**
- * Bootstrap active form widget.
- */
-class BootActiveForm extends CActiveForm
-{
-	// Form types.
-	const TYPE_VERTICAL = 'vertical';
-	const TYPE_INLINE = 'inline';
-	const TYPE_HORIZONTAL = 'horizontal';
-	const TYPE_SEARCH = 'search';
-
-	// Input classes.
-	const INPUT_HORIZONTAL = 'bootstrap.widgets.input.BootInputHorizontal';
-	const INPUT_INLINE = 'bootstrap.widgets.input.BootInputInline';
-	const INPUT_SEARCH = 'bootstrap.widgets.input.BootInputSearch';
-	const INPUT_VERTICAL = 'bootstrap.widgets.input.BootInputVertical';
-
-	/**
-	 * @var string the form type. See class constants.
-	 */
-	public $type = self::TYPE_VERTICAL;
-
-	/**
-	 * @var boolean flag that indicates if the errors should be displayed as blocks.
-	 */
-	public $inlineErrors;
-
-	/**
-	 * Initializes the widget.
-	 * This renders the form open tag.
-	 */
-	public function init()
-	{
-		if (!isset($this->htmlOptions['class']))
-			$this->htmlOptions['class'] = 'form-'.$this->type;
-		else
-			$this->htmlOptions['class'] .= ' form-'.$this->type;
-
-		if (!isset($this->inlineErrors))
-			$this->inlineErrors = $this->type === self::TYPE_HORIZONTAL;
-
-		if ($this->inlineErrors)
-			$this->errorMessageCssClass = 'help-inline error';
-		else
-			$this->errorMessageCssClass = 'help-block error';
-
-		parent::init();
-	}
-
-	/**
-	 * Renders a checkbox input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function checkBoxRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_CHECKBOX, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a checkbox list input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data the list data
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function checkBoxListRow($model, $attribute, $data = array(), $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_CHECKBOXLIST, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders a checkbox list inline input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data the list data
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function checkBoxListInlineRow($model, $attribute, $data = array(), $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_CHECKBOXLIST_INLINE, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders a drop-down list input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data the list data
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function dropDownListRow($model, $attribute, $data = array(), $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_DROPDOWN, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders a file field input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function fileFieldRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_FILE, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a password field input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function passwordFieldRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_PASSWORD, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a radio button input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function radioButtonRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_RADIO, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a radio button list input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data the list data
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function radioButtonListRow($model, $attribute, $data = array(), $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_RADIOLIST, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders a radio button list inline input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data the list data
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function radioButtonListInlineRow($model, $attribute, $data = array(), $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_RADIOLIST_INLINE, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders a text field input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function textFieldRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_TEXT, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a text area input row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function textAreaRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_TEXTAREA, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a captcha row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 * @since 0.9.3
-	 */
-	public function captchaRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_CAPTCHA, $model, $attribute, $htmlOptions);
-	}
-
-	/**
-	 * Renders an uneditable text field row.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 * @since 0.9.5
-	 */
-	public function uneditableRow($model, $attribute, $htmlOptions = array())
-	{
-		return $this->inputRow(BootInput::TYPE_UNEDITABLE, $model, $attribute, null, $htmlOptions);
-	}
-
-	/**
-	 * Renders a checkbox list for a model attribute.
-	 * This method is a wrapper of {@link CHtml::activeCheckBoxList}.
-	 * Please check {@link CHtml::activeCheckBoxList} for detailed information
-	 * about the parameters for this method.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data value-label pairs used to generate the check box list.
-	 * @param array $htmlOptions additional HTML options.
-	 * @return string the generated check box list
-	 * @since 0.9.5
-	 */
-	public function checkBoxList($model, $attribute, $data, $htmlOptions = array())
-	{
-		return $this->inputsList(true, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders a radio button list for a model attribute.
-	 * This method is a wrapper of {@link CHtml::activeRadioButtonList}.
-	 * Please check {@link CHtml::activeRadioButtonList} for detailed information
-	 * about the parameters for this method.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data value-label pairs used to generate the radio button list.
-	 * @param array $htmlOptions additional HTML options.
-	 * @return string the generated radio button list
-	 * @since 0.9.5
-	 */
-	public function radioButtonList($model, $attribute, $data, $htmlOptions = array())
-	{
-		return $this->inputsList(false, $model, $attribute, $data, $htmlOptions);
-	}
-
-	/**
-	 * Renders an input list.
-	 * @param boolean $checkbox flag that indicates if the list is a checkbox-list.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data value-label pairs used to generate the input list.
-	 * @param array $htmlOptions additional HTML options.
-	 * @return string the generated input list.
-	 * @since 0.9.5
-	 */
-	protected function inputsList($checkbox, $model, $attribute, $data, $htmlOptions = array())
-	{
-		CHtml::resolveNameID($model, $attribute, $htmlOptions);
-		$select = CHtml::resolveValue($model, $attribute);
-
-		if ($model->hasErrors($attribute))
-		{
-			if (isset($htmlOptions['class']))
-				$htmlOptions['class'] .= ' '.CHtml::$errorCss;
-			else
-				$htmlOptions['class'] = CHtml::$errorCss;
-		}
-
-		$name = $htmlOptions['name'];
-		unset($htmlOptions['name']);
-
-		if (array_key_exists('uncheckValue', $htmlOptions))
-		{
-			$uncheck = $htmlOptions['uncheckValue'];
-			unset($htmlOptions['uncheckValue']);
-		}
-		else
-			$uncheck = '';
-
-		$hiddenOptions = isset($htmlOptions['id']) ? array('id' => CHtml::ID_PREFIX.$htmlOptions['id']) : array('id' => false);
-		$hidden = $uncheck !== null ? CHtml::hiddenField($name, $uncheck, $hiddenOptions) : '';
-
-		if (isset($htmlOptions['template']))
-			$template = $htmlOptions['template'];
-		else
-			$template = '<label class="{labelCssClass}">{input}{label}</label>';
-
-		unset($htmlOptions['template'], $htmlOptions['separator'], $htmlOptions['hint']);
-
-		if ($checkbox && substr($name, -2) !== '[]')
-			$name .= '[]';
-
-		unset($htmlOptions['checkAll'], $htmlOptions['checkAllLast']);
-
-		$labelOptions = isset($htmlOptions['labelOptions']) ? $htmlOptions['labelOptions'] : array();
-		unset($htmlOptions['labelOptions']);
-
-		$items = array();
-		$baseID = CHtml::getIdByName($name);
-		$id = 0;
-		$method = $checkbox ? 'checkBox' : 'radioButton';
-		$labelCssClass = $checkbox ? 'checkbox' : 'radio';
-
-		if (isset($htmlOptions['inline']))
-		{
-			$labelCssClass .= ' inline';
-			unset($htmlOptions['inline']);
-		}
-
-		foreach ($data as $value => $label)
-		{
-			$checked = !is_array($select) && !strcmp($value, $select) || is_array($select) && in_array($value, $select);
-			$htmlOptions['value'] = $value;
-			$htmlOptions['id'] = $baseID.'_'.$id++;
-			$option = CHtml::$method($name, $checked, $htmlOptions);
-			$label = CHtml::label($label, $htmlOptions['id'], $labelOptions);
-			$items[] = strtr($template, array(
-				'{labelCssClass}' => $labelCssClass,
-				'{input}' => $option,
-				'{label}' => $label,
-			));
-		}
-
-		return $hidden.implode('', $items);
-	}
-
-	/**
-	 * Displays a summary of validation errors for one or several models.
-	 * This method is very similar to {@link CHtml::errorSummary} except that it also works
-	 * when AJAX validation is performed.
-	 * @param mixed $models the models whose input errors are to be displayed. This can be either
-	 * a single model or an array of models.
-	 * @param string $header a piece of HTML code that appears in front of the errors
-	 * @param string $footer a piece of HTML code that appears at the end of the errors
-	 * @param array $htmlOptions additional HTML attributes to be rendered in the container div tag.
-	 * @return string the error summary. Empty if no errors are found.
-	 * @see CHtml::errorSummary
-	 */
-	public function errorSummary($models, $header = null, $footer = null, $htmlOptions = array())
-	{
-		if (!isset($htmlOptions['class']))
-			$htmlOptions['class'] = 'alert alert-block alert-error'; // Bootstrap error class as default
-
-		return parent::errorSummary($models, $header, $footer, $htmlOptions);
-	}
-
-	/**
-	 * Displays the first validation error for a model attribute.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute name
-	 * @param array $htmlOptions additional HTML attributes to be rendered in the container div tag.
-	 * @param boolean $enableAjaxValidation whether to enable AJAX validation for the specified attribute.
-	 * @param boolean $enableClientValidation whether to enable client-side validation for the specified attribute.
-	 * @return string the validation result (error display or success message).
-	 */
-	public function error($model, $attribute, $htmlOptions = array(), $enableAjaxValidation = true, $enableClientValidation = true)
-	{
-		if (!$this->enableAjaxValidation)
-			$enableAjaxValidation = false;
-
-		if (!$this->enableClientValidation)
-			$enableClientValidation = false;
-
-		if (!isset($htmlOptions['class']))
-			$htmlOptions['class'] = $this->errorMessageCssClass;
-
-		if (!$enableAjaxValidation && !$enableClientValidation)
-			return $this->renderError($model, $attribute, $htmlOptions);
-
-		$id = CHtml::activeId($model,$attribute);
-		$inputID = isset($htmlOptions['inputID']) ? $htmlOptions['inputID'] : $id;
-		unset($htmlOptions['inputID']);
-		if (!isset($htmlOptions['id']))
-			$htmlOptions['id'] = $inputID.'_em_';
-
-		$option = array(
-			'id'=>$id,
-			'inputID'=>$inputID,
-			'errorID'=>$htmlOptions['id'],
-			'model'=>get_class($model),
-			'name'=>CHtml::resolveName($model, $attribute),
-			'enableAjaxValidation'=>$enableAjaxValidation,
-			'inputContainer'=>'div.control-group', // Bootstrap requires this
-		);
-
-		$optionNames = array(
-			'validationDelay',
-			'validateOnChange',
-			'validateOnType',
-			'hideErrorMessage',
-			'inputContainer',
-			'errorCssClass',
-			'successCssClass',
-			'validatingCssClass',
-			'beforeValidateAttribute',
-			'afterValidateAttribute',
-		);
-
-		foreach ($optionNames as $name)
-		{
-			if (isset($htmlOptions[$name]))
-			{
-				$option[$name] = $htmlOptions[$name];
-				unset($htmlOptions[$name]);
-			}
-		}
-
-		if ($model instanceof CActiveRecord && !$model->isNewRecord)
-			$option['status'] = 1;
-
-		if ($enableClientValidation)
-		{
-			$validators = isset($htmlOptions['clientValidation']) ? array($htmlOptions['clientValidation']) : array();
-
-			$attributeName = $attribute;
-			if (($pos = strrpos($attribute, ']')) !== false && $pos !== strlen($attribute) - 1) // e.g. [a]name
-				$attributeName = substr($attribute, $pos + 1);
-
-			foreach ($model->getValidators($attributeName) as $validator)
-			{
-				if ($validator->enableClientValidation)
-					if (($js = $validator->clientValidateAttribute($model, $attributeName)) != '')
-						$validators[] = $js;
-			}
-
-			if ($validators !== array())
-				$option['clientValidation'] = "js:function(value, messages, attribute) {\n".implode("\n", $validators)."\n}";
-		}
-
-		$html = $this->renderError($model, $attribute, $htmlOptions);
-
-		if ($html === '')
-		{
-			if (isset($htmlOptions['style']))
-				$htmlOptions['style'] = rtrim($htmlOptions['style'], ';').'; display: none';
-			else
-				$htmlOptions['style'] = 'display: none';
-
-			$html = CHtml::tag('span', $htmlOptions, '');
-		}
-
-		$this->attributes[$inputID] = $option;
-
-		return $html;
-	}
-
-	/**
-	 * Displays the first validation error for a model attribute.
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute name
-	 * @param array $htmlOptions additional HTML attributes to be rendered in the container div tag.
-	 * @return string the error display. Empty if no errors are found.
-	 * @see CModel::getErrors
-	 * @see errorMessageCss
-	 */
-	protected static function renderError($model, $attribute, $htmlOptions = array())
-	{
-		CHtml::resolveName($model, $attribute); // turn [a][b]attr into attr
-		$error = $model->getError($attribute);
-		return $error != '' ? CHtml::tag('span', $htmlOptions, $error) : '';
-	}
-
-	/**
-	 * Creates an input row of a specific type.
-	 * @param string $type the input type
-	 * @param CModel $model the data model
-	 * @param string $attribute the attribute
-	 * @param array $data the data for list inputs
-	 * @param array $htmlOptions additional HTML attributes
-	 * @return string the generated row
-	 */
-	public function inputRow($type, $model, $attribute, $data = null, $htmlOptions = array())
-	{
-		ob_start();
-		Yii::app()->controller->widget($this->getInputClassName(), array(
-			'type'=>$type,
-			'form'=>$this,
-			'model'=>$model,
-			'attribute'=>$attribute,
-			'data'=>$data,
-			'htmlOptions'=>$htmlOptions,
-		));
-		return ob_get_clean();
-	}
-
-	/**
-	 * Returns the input widget class name suitable for the form.
-	 * @return string the class name
-	 */
-	protected function getInputClassName()
-	{
-		// Determine the input widget class name.
-		switch ($this->type)
-		{
-			case self::TYPE_HORIZONTAL:
-				return self::INPUT_HORIZONTAL;
-				break;
-
-			case self::TYPE_INLINE:
-				return self::INPUT_INLINE;
-				break;
-
-			case self::TYPE_SEARCH:
-				return self::INPUT_SEARCH;
-				break;
-
-			case self::TYPE_VERTICAL:
-			default:
-				return self::INPUT_VERTICAL;
-				break;
-		}
-	}
-}

File widgets/BootAlert.php

-<?php
-/**
- * BootAlert class file.
- * @author Christoffer Niska <ChristofferNiska@gmail.com>
- * @copyright  Copyright &copy; Christoffer Niska 2011-
- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
- * @package bootstrap.widgets
- */
-
-/**
- * Bootstrap alert widget.
- */
-class BootAlert extends CWidget
-{
-	/**
-	 * @var array the keys for which to get flash messages.
-	 */
-	public $keys = array('success', 'info', 'warning', 'error', /* or */'danger');
-	/**
-	 * @var string the template to use for displaying flash messages.
-	 */
-	public $template = '<div class="alert alert-block alert-{key}{class}"><a class="close" data-dismiss="alert">&times;</a>{message}</div>';
-	/**
-	 * @var string[] the JavaScript event handlers.
-	 */
-	public $events = array();
-	/**
-	 * @var array the HTML attributes for the widget container.
-	 */
-	public $htmlOptions = array();
-
-	/**
-	 * Initializes the widget.
-	 */
-	public function init()
-	{
-		parent::init();
-
-		if (!isset($this->htmlOptions['id']))
-			$this->htmlOptions['id'] = $this->getId();
-	}
-
-	/**
-	 * Runs the widget.
-	 */
-	public function run()
-	{
-		$id = $this->id;
-
-		if (is_string($this->keys))
-			$this->keys = array($this->keys);
-
-		echo CHtml::openTag('div', $this->htmlOptions);
-
-		foreach ($this->keys as $key)
-		{
-			if (Yii::app()->user->hasFlash($key))
-			{
-				echo strtr($this->template, array(
-					'{class}'=>' fade in',
-					'{key}'=>$key,
-					'{message}'=>Yii::app()->user->getFlash($key),
-				));
-			}
-		}
-
-		echo '</div>';
-
-		$selector = "#{$id} .alert";
-		$id .= '_'.uniqid(true, true);
-
-		/** @var CClientScript $cs */
-		$cs = Yii::app()->getClientScript();
-		$cs->registerScript(__CLASS__.'#'.$id, "jQuery('{$selector}').alert();");
-
-		foreach ($this->events as $name => $handler)
-		{
-			$handler = CJavaScript::encode($handler);
-			$cs->registerScript(__CLASS__.'#'.$id.'_'.$name, "jQuery('{$selector}').on('".$name."', {$handler});");
-		}
-	}
-}

File widgets/BootBadge.php

-<?php
-/**
- * BootBadge class file.
- * @author Christoffer Niska <ChristofferNiska@gmail.com>
- * @copyright  Copyright &copy; Christoffer Niska 2011-
- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
- * @package bootstrap.widgets
- */
-
-/**
- * Bootstrap badge widget.
- */
-class BootBadge extends CWidget
-{
-	// Badge types.
-	const TYPE_DEFAULT = '';
-	const TYPE_SUCCESS = 'success';
-	const TYPE_WARNING = 'warning';
-	const TYPE_IMPORTANT = 'important';
-	const TYPE_INFO = 'info';
-	const TYPE_INVERSE = 'inverse';
-
-	/**
-	 * @var string the badge type (defaults to '').
-	 * Valid types are '', 'success', 'warning', 'important', 'info' and 'inverse'.
-	 */
-	public $type = self::TYPE_DEFAULT;
-	/**
-	 * @var string the badge text.
-	 */
-	public $label;
-	/**
-	 * @var boolean whether to encode the label.
-	 */
-	public $encodeLabel = true;
-	/**
-	 * @var array the HTML attributes for the widget container.
-	 */
-	public $htmlOptions = array();
-
-	/**
-	 * Initializes the widget.
-	 */
-	public function init()
-	{
-		$classes = array('badge');
-
-		$validTypes = array(self::TYPE_SUCCESS, self::TYPE_WARNING, self::TYPE_IMPORTANT, self::TYPE_INFO, self::TYPE_INVERSE);
-
-		if (in_array($this->type, $validTypes))
-			$classes[] = 'badge-'.$this->type;
-
-		$classes = implode(' ', $classes);
-		if (isset($this->htmlOptions['class']))
-			$this->htmlOptions['class'] .= ' '.$classes;
-		else
-			$this->htmlOptions['class'] = $classes;
-
-		if ($this->encodeLabel === true)
-			$this->label = CHtml::encode($this->label);
-	}
-
-	/**
-	 * Runs the widget.
-	 */
-	public function run()
-	{
-		echo CHtml::tag('span', $this->htmlOptions, $this->label);
-	}
-}

File widgets/BootBaseMenu.php

-<?php
-/**
- * BootBaseMenu class file.
- * @author Christoffer Niska <ChristofferNiska@gmail.com>
- * @copyright Copyright &copy; Christoffer Niska 2011-
- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
- * @package bootstrap.widgets
- */
-
-abstract class BootBaseMenu extends CWidget
-{
-	/**
-	 * @var array the menu items.
-	 */
-	public $items = array();
-	/**
-	 * @var string the item template.
-	 */
-	public $itemTemplate;
-	/**
-	 * @var boolean whether to encode item labels.
-	 */
-	public $encodeLabel = true;
-	/**
-	 * @var array the HTML attributes for the widget container.
-	 */
-	public $htmlOptions = array();
-
-	/**
-	 * Initializes the widget.
-	 */
-	public function init()
-	{
-		$this->htmlOptions['id'] = $this->getId();
-	}
-
-	/**
-	 * Runs the widget.
-	 */
-	public function run()
-	{
-		echo CHtml::openTag('ul', $this->htmlOptions);
-		$this->renderItems($this->items);
-		echo '</ul>';
-	}
-
-	/**
-	 * Renders a single item in the menu.
-	 * @param array $item the item configuration
-	 * @return string the rendered item
-	 */
-	protected function renderItem($item)
-	{
-		if (!isset($item['linkOptions']))
-			$item['linkOptions'] = array();
-
-		if (isset($item['icon']))
-		{
-			if (strpos($item['icon'], 'icon') === false)
-			{
-				$pieces = explode(' ', $item['icon']);
-                $item['icon'] = 'icon-'.implode(' icon-', $pieces);
-			}
-
-			$item['label'] = '<i class="'.$item['icon'].'"></i> '.$item['label'];
-		}
-
-		if (!isset($item['header']) && !isset($item['url']))
-			$item['url'] = '#';
-
-		if (isset($item['url']))
-			return CHtml::link($item['label'], $item['url'], $item['linkOptions']);
-		else
-			return $item['label'];
-	}
-
-	/**
-	 * Checks whether a menu item is active.
-	 * @param array $item the menu item to be checked
-	 * @param string $route the route of the current request
-	 * @return boolean the result
-	 */
-	protected function isItemActive($item, $route)
-	{
-		if (isset($item['url']) && is_array($item['url']) && !strcasecmp(trim($item['url'][0], '/'), $route))