PATH:
home
/
letacommog
/
letaweb
/
protected
/
extensions
/
yiibooster
/
widgets
/
input
<?php /** *## TbInputHorizontal class file. * * @author Christoffer Niska <ChristofferNiska@gmail.com> * @copyright Copyright © Christoffer Niska 2011- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License */ Yii::import('booster.widgets.input.TbInput'); /** *## TbInputHorizontal class * * Bootstrap horizontal form input widget. * * @since 0.9.8 * @package booster.widgets.forms.inputs */ class TbInputHorizontal extends TbInput { /** * Runs the widget. */ public function run() { echo CHtml::openTag('div', array('class' => 'control-group ' . $this->getContainerCssClass())); parent::run(); echo CHtml::closeTag('div'); } /** * Returns the label for this block. * @return string the label */ protected function getLabel() { if (isset($this->labelOptions['class'])) { $this->labelOptions['class'] .= ' control-label'; } else { $this->labelOptions['class'] = 'control-label'; } if (isset($this->htmlOptions['id'])) { $this->labelOptions['for'] = $this->htmlOptions['id']; } return parent::getLabel(); } /** * Renders a checkbox. * @return string the rendered content */ protected function checkBox() { $attribute = $this->attribute; list($hidden, $checkbox) = $this->getSeparatedSelectableInput(); echo '<div class="controls">'; echo ($hidden) ? $hidden . PHP_EOL : ''; echo '<label class="checkbox" for="' . $this->getAttributeId($attribute) . '">'; echo $checkbox . PHP_EOL; echo $this->model->getAttributeLabel($attribute); echo $this->getError() . $this->getHint(); echo '</label></div>'; } /** * Renders a toogle button * @return string the rendered content */ protected function toggleButton() { // widget configuration is set on htmlOptions['options'] $options = array( 'model' => $this->model, 'attribute' => $this->attribute ); if (isset($this->htmlOptions['options'])) { $options = CMap::mergeArray($options, $this->htmlOptions['options']); unset($this->htmlOptions['options']); } $options['htmlOptions'] = $this->htmlOptions; echo $this->getLabel(); echo '<div class="controls">'; $this->widget('booster.widgets.TbToggleButton', $options); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a list of checkboxes. * @return string the rendered content */ protected function checkBoxList() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->form->checkBoxList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a list of inline checkboxes. * @return string the rendered content */ protected function checkBoxListInline() { $this->htmlOptions['inline'] = true; $this->checkBoxList(); } /** * Renders a list of checkboxes using Button Groups. * @return string the rendered content */ protected function checkBoxGroupsList() { if (isset($this->htmlOptions['for']) && !empty($this->htmlOptions['for'])) { $label_for = $this->htmlOptions['for']; unset($this->htmlOptions['for']); } else if (isset($this->data) && !empty($this->data)) { $label_for = CHtml::getIdByName( get_class($this->model) . '[' . $this->attribute . '][' . key($this->data) . ']' ); } if (isset($label_for)) { $this->labelOptions = array('for' => $label_for); } $this->htmlOptions['class'] = 'pull-left'; echo $this->getLabel(); echo '<div class="controls">'; echo $this->form->checkBoxGroupsList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a drop down list (select). * @return string the rendered content */ protected function dropDownList() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->form->dropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a file field. * @return string the rendered content */ protected function fileField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->form->fileField($this->model, $this->attribute, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a password field. * @return string the rendered content */ protected function passwordField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); echo $this->form->passwordField($this->model, $this->attribute, $this->htmlOptions); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a Pass*Field field. * @return string the rendered content * @author Hrumpa */ protected function passfieldField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbPassfield', array( 'model' => $this->model, 'attribute' => $this->attribute, 'options' => isset($options) ? $options : array(), 'events' => isset($events) ? $events : array(), 'htmlOptions' => $this->htmlOptions, ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a radio button. * @return string the rendered content */ protected function radioButton() { $attribute = $this->attribute; list($hidden, $radioButton) = $this->getSeparatedSelectableInput(); echo '<div class="controls">'; echo ($hidden) ? $hidden . PHP_EOL : ''; echo '<label class="radio" for="' . $this->getAttributeId($attribute) . '">'; echo $radioButton . PHP_EOL; //echo $this->form->radioButton($this->model, $attribute, $this->htmlOptions) . PHP_EOL; echo $this->model->getAttributeLabel($attribute); echo $this->getError() . $this->getHint(); echo '</label></div>'; } /** * Renders a list of radio buttons. * @return string the rendered content */ protected function radioButtonList() { echo $this->getLabel(); echo '<div class="controls"><span id="' . $this->getAttributeId($this->attribute) . '">'; echo $this->form->radioButtonList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</span></div>'; } /** * Renders a list of inline radio buttons. * @return string the rendered content */ protected function radioButtonListInline() { $this->htmlOptions['inline'] = true; $this->radioButtonList(); } /** * Renders a list of radio buttons using Button Groups. * @return string the rendered content */ protected function radioButtonGroupsList() { if (isset($this->htmlOptions['for']) && !empty($this->htmlOptions['for'])) { $label_for = $this->htmlOptions['for']; unset($this->htmlOptions['for']); } else if (isset($this->data) && !empty($this->data)) { $label_for = CHtml::getIdByName( get_class($this->model) . '[' . $this->attribute . '][' . key($this->data) . ']' ); } if (isset($label_for)) { $this->labelOptions = array('for' => $label_for); } $this->htmlOptions['class'] = 'pull-left'; echo $this->getLabel(); echo '<div class="controls">'; echo $this->form->radioButtonGroupsList($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a textarea. * @return string the rendered content */ protected function textArea() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->form->textArea($this->model, $this->attribute, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a text field. * @return string the rendered content */ protected function textField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a masked text field. * @return string the rendered content */ protected function maskedTextField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); echo $this->form->maskedTextField($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a CAPTCHA. * @return string the rendered content */ protected function captcha() { echo $this->getLabel(); echo '<div class="controls"><div class="captcha">'; echo '<div class="widget">' . $this->widget('CCaptcha', $this->captchaOptions, true) . '</div>'; echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); echo $this->getError() . $this->getHint(); echo '</div></div>'; } /** * Renders an uneditable field. * @return string the rendered content */ protected function uneditableField() { echo $this->getLabel(); echo '<div class="controls">'; echo CHtml::tag('span', $this->htmlOptions, $this->model->{$this->attribute}); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a datepicker field. * @return string the rendered content * @author antonio ramirez <antonio@clevertech.biz> */ protected function datepickerField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbDatePicker', array( 'model' => $this->model, 'attribute' => $this->attribute, 'options' => isset($options) ? $options : array(), 'events' => isset($events) ? $events : array(), 'htmlOptions' => $this->htmlOptions, ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a datetimepicker field. * @return string the rendered content * @author Hrumpa */ protected function datetimepickerField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbDateTimePicker', array( 'model' => $this->model, 'attribute' => $this->attribute, 'options' => isset($options) ? $options : array(), 'events' => isset($events) ? $events : array(), 'htmlOptions' => $this->htmlOptions, ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a colorpicker field. * @return string the rendered content * @author antonio ramirez <antonio@clevertech.biz> */ protected function colorpickerField() { $format = 'hex'; if (isset($this->htmlOptions['format'])) { $format = $this->htmlOptions['format']; unset($this->htmlOptions['format']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbColorPicker', array( 'model' => $this->model, 'attribute' => $this->attribute, 'format' => $format, 'events' => isset($events) ? $events : array(), 'htmlOptions' => $this->htmlOptions, ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a redactor. * @return string the rendered content */ protected function redactorJs() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['width'])) { $width = $this->htmlOptions['width']; unset($this->htmlOptions['width']); } if (isset($this->htmlOptions['height'])) { $height = $this->htmlOptions['height']; unset($this->htmlOptions['height']); } echo $this->getLabel(); echo '<div class="controls">'; $this->widget( 'booster.widgets.TbRedactorJs', array( 'model' => $this->model, 'attribute' => $this->attribute, 'editorOptions' => isset($options) ? $options : array(), 'width' => isset($width) ? $width : '100%', 'height' => isset($height) ? $height : '400px', 'htmlOptions' => $this->htmlOptions ) ); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a Markdown Editor. * @return string the rendered content */ protected function markdownEditorJs() { if (isset($this->htmlOptions['width'])) { $width = $this->htmlOptions['width']; unset($this->htmlOptions['width']); } if (isset($this->htmlOptions['height'])) { $height = $this->htmlOptions['height']; unset($this->htmlOptions['height']); } echo $this->getLabel(); echo '<div class="controls">'; echo '<div class="wmd-panel">'; echo '<div id="wmd-button-bar" class="btn-toolbar"></div>'; $this->widget( 'booster.widgets.TbMarkdownEditorJs', array( 'model' => $this->model, 'attribute' => $this->attribute, 'width' => isset($width) ? $width : '100%', 'height' => isset($height) ? $height : '400px', 'htmlOptions' => $this->htmlOptions ) ); echo $this->getError() . $this->getHint(); echo '<div id="wmd-preview" class="wmd-panel wmd-preview" style="width:' . (isset($width) ? $width : '100%') . '"></div>'; echo '</div>'; // wmd-panel echo '</div>'; // controls } /** * Renders Bootstrap wysihtml5 editor. * @return mixed|void */ protected function html5Editor() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['width'])) { $width = $this->htmlOptions['width']; unset($this->htmlOptions['width']); } if (isset($this->htmlOptions['height'])) { $height = $this->htmlOptions['height']; unset($this->htmlOptions['height']); } echo $this->getLabel(); echo '<div class="controls">'; $this->widget( 'booster.widgets.TbHtml5Editor', array( 'model' => $this->model, 'attribute' => $this->attribute, 'editorOptions' => isset($options) ? $options : array(), 'width' => isset($width) ? $width : '100%', 'height' => isset($height) ? $height : '400px', 'htmlOptions' => $this->htmlOptions ) ); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a ckEditor. * @return string the rendered content * @author antonio ramirez <antonio@clevertech.biz> */ protected function ckEditor() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } echo $this->getLabel(); echo '<div class="controls">'; $this->widget( 'booster.widgets.TbCKEditor', array( 'model' => $this->model, 'attribute' => $this->attribute, 'editorOptions' => isset($options) ? $options : array(), 'htmlOptions' => $this->htmlOptions ) ); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a daterange field. * @return string the rendered content * @author antonio ramirez <antonio@clevertech.biz> */ protected function dateRangeField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($options['callback'])) { $callback = $options['callback']; unset($options['callback']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbDateRangePicker', array( 'model' => $this->model, 'attribute' => $this->attribute, 'options' => isset($options) ? $options : array(), 'callback' => isset($callback) ? $callback : '', 'htmlOptions' => $this->htmlOptions, ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a timepicker field. * @return string the rendered content * @author Sergii Gamaiunov <hello@webkadabra.com> */ protected function timepickerField() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbTimePicker', array( 'model' => $this->model, 'attribute' => $this->attribute, 'options' => isset($options) ? $options : array(), 'events' => isset($events) ? $events : array(), 'htmlOptions' => $this->htmlOptions, 'form' => $this->form ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a select2Field * @return mixed|void */ protected function select2Field() { if (isset($this->htmlOptions['options'])) { $options = $this->htmlOptions['options']; unset($this->htmlOptions['options']); } if (isset($this->htmlOptions['events'])) { $events = $this->htmlOptions['events']; unset($this->htmlOptions['events']); } if (isset($this->htmlOptions['data'])) { $data = $this->htmlOptions['data']; unset($this->htmlOptions['data']); } if (isset($this->htmlOptions['asDropDownList'])) { $asDropDownList = $this->htmlOptions['asDropDownList']; unset($this->htmlOptions['asDropDownList']); } echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); $this->widget( 'booster.widgets.TbSelect2', array( 'model' => $this->model, 'attribute' => $this->attribute, 'options' => isset($options) ? $options : array(), 'events' => isset($events) ? $events : array(), 'data' => isset($data) ? $data : array(), 'asDropDownList' => isset($asDropDownList) ? $asDropDownList : true, 'htmlOptions' => $this->htmlOptions, 'form' => $this->form ) ); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a typeAhead field. * @return string the rendered content */ protected function typeAheadField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); echo $this->form->typeAheadField($this->model, $this->attribute, $this->data, $this->htmlOptions); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a number field. * @return string the rendered content */ protected function numberField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); echo $this->form->numberField($this->model, $this->attribute, $this->htmlOptions); echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } /** * Renders a pre-rendered custom field. * @return string the rendered content */ protected function customField() { echo $this->getLabel(); echo '<div class="controls">'; echo $this->getPrepend(); echo $this->htmlOptions['input']; echo $this->getAppend(); echo $this->getError() . $this->getHint(); echo '</div>'; } }
[+]
..
[-] TbInputHorizontal.php
[edit]
[-] TbInputInline.php
[edit]
[-] TbInput.php
[edit]
[-] TbInputVertical.php
[edit]
[-] TbInputSearch.php
[edit]