<div class="contentpanel">
        <p class="mb20"><a href="http://datatables.net/" target="_blank">DataTables</a> is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table.</p>

        <div class="panel panel-primary-head">
            <div class="panel-heading">
                <h4 class="panel-title">Basic Configuration</h4>
                <p>Searching, ordering, paging etc goodness will be immediately added to the table, as shown in this example.</p>
            </div><!-- panel-heading -->
            <br>

        <form action="<?php 
echo $this->createUrl("/trucks/CreateAndSendAccess");
?>
" method="post">
         <?php 
echo FormHTML::select_simple($accounts, "accounts", "accounts", "Новый аккаунт", "user");
echo "<br><br>";
foreach ($plates as $plate) {
    echo "Номера: <input type='text' name='plates[]' size='20' value='" . $plate . "'><br>";
}
?>
         <br><br>
         Номер телефона: <input type="text" name="phone" class="mask"><br><br>
        <input type="submit" value="ПШЁЛ">
        </form>
        </div><!-- panel -->
        <br />



    </div><!-- contentpanel -->
Example #2
0
<?php

require_once DISK_ROOT . '/framework/controls/form/form_html.php';
$css = '<link href="' . href('/framework/controls/form/form.css') . '" rel="stylesheet" media="screen" type="text/css" />';
$this->getHead()->appendContent($css);
$form = new FormHTML($this->control_options);
if ($form->checkRequired()) {
    $form->addMethod();
    $form->process();
    echo $form->getForm();
}
 /**
  * Render an element
  * @param object $element
  * @return string
  */
 protected function element($element)
 {
     // set id
     if (!isset($element->attributes['id'])) {
         $element->id = $this->id();
         $attributes = $element->attributes;
         $attributes['id'] = $element->id;
         $element->attributes = $attributes;
     } else {
         $element->id = $element->attributes['id'];
     }
     // set class
     if (!isset($element->attributes['class'])) {
         // set bootstap class
         $attributes['class'] = '';
     }
     // set label
     if (!$element->label) {
         if ($element->text) {
             $element->label = $this->_text->get($element->text);
         } else {
             $element->label = $this->_text->get('label.' . $element->key);
         }
     }
     // set error
     if ($error = $element->error()) {
         // create  errormessage
         $element->error = $this->_text->get('error.' . $element->key . '.' . $error);
     } else {
         $element->error = FALSE;
     }
     // set comment
     if (!isset($element->comment)) {
         if ($comment = $this->_text->get('comment.' . $element->key)) {
             $element->comment = $comment;
         } else {
             $element->comment = FALSE;
         }
     }
     // set default view
     $view = 'form/element';
     // render the element itself
     switch ($element->type) {
         case 'radio':
         case 'checkbox':
         case 'select':
             if (Arr::is_assoc($element->options) === FALSE) {
                 $options = array();
                 foreach ($element->options as $value => $label) {
                     $value = $label;
                     $label = $this->_text->get('option.' . $element->key . '.' . $value);
                     $options[$value] = $label;
                 }
                 $element->options = $options;
             }
             if ($element->type === 'radio') {
                 $view = 'form/radio';
             }
             if ($element->type === 'checkbox') {
                 $view = 'form/checkbox';
             }
             if ($element->type === 'select') {
                 if (isset($element->first_option)) {
                     $option = $element->first_option;
                     $value = is_array($option) && isset($option['value']) ? $option['value'] : $option;
                     $label = is_array($option) && isset($option['label']) ? $option['label'] : $this->_text->get('option.' . $element->key . '.' . $value);
                     // add to the beginning of options
                     $reverse = array_reverse($element->options, TRUE);
                     $reverse[$value] = $label;
                     $element->options = array_reverse($reverse, TRUE);
                 }
                 // set bootstap class
                 $attributes['class'] .= ' form-control';
                 $element->html = FormHTML::select($element->name, $element->options, $element->value, $attributes);
             }
             break;
         case 'hidden':
             $view = FALSE;
             $element->html = FormHTML::hidden($element->name, $element->value, $attributes);
             break;
         case 'submit':
             $view = FALSE;
             $label = isset($element->label) ? $element->label : $this->_text->get('label.' . $element->key);
             $element->html = FormHTML::submit($element->name, $label, $attributes);
             break;
         case 'btn':
             $view = FALSE;
             $label = isset($element->label) ? $element->label : $this->_text->get('label.' . $element->key);
             $href = isset($element->href) ? $element->href : '#';
             $element->html = HTML::anchor($href, $label, $attributes);
             break;
         case 'button':
             $view = FALSE;
             $label = isset($element->label) ? $element->label : $this->_text->get('label.' . $element->key);
             $element->html = FormHTML::button($element->name, $label, $attributes);
             break;
         case 'file':
             $element->html = FormHTML::file($element->name, $attributes);
             break;
         case 'image':
             $element->html = FormHTML::image($element->name, $element->value, $attributes, FALSE);
             break;
         case 'text':
         case 'password':
             if (!isset($attributes['placeholder'])) {
                 $attributes['placeholder'] = $this->_text->get('placeholder.' . $element->key);
             }
             // set bootstap class
             $attributes['class'] .= ' form-control';
             if ($element->type === 'text') {
                 $element->html = FormHTML::input($element->name, $element->value, $attributes);
             }
             if ($element->type === 'password') {
                 $element->html = FormHTML::password($element->name, $element->value, $attributes);
             }
             break;
         case 'textarea':
             $attributes['class'] .= ' form-control';
             $element->html = FormHTML::textarea($element->name, $element->value, $attributes, FALSE);
             break;
         default:
             $element->html = View::factory('form/' . $element->type, array('viewer' => $this, 'element' => $element))->render();
     }
     // wrap element
     if ($view) {
         $html = View::factory($view, array('element' => $element))->render();
     } else {
         $html = $element->html;
     }
     return $html;
 }
echo text('label.time_show_start');
?>
		</label>
		<div class="yf-date">
			<?php 
echo View::factory('form/date', array('element' => (object) array('time' => TRUE, 'name' => $element->name . '[time_show_start]', 'value' => isset($element->value['time_show_start']) ? $element->value['time_show_start'] : date('Y-m-d H:i:s', time()))));
?>
		</div>
	</div>



	<div class="yf-end col-md-6">
		<label>
			<?php 
echo FormHTML::checkbox($element->name . '[use_time_show_end]', '1', $element->value['use_time_show_end'] == '1', array('class' => 'yf-use'));
?>
 
			<?php 
echo text('label.time_show_end');
?>
		</label>

		<div class="yf-date">
			<?php 
echo View::factory('form/date', array('element' => (object) array('time' => TRUE, 'name' => $element->name . '[time_show_end]', 'value' => isset($element->value['time_show_end']) ? $element->value['time_show_end'] : date('Y-m-d H:i:s', time()))));
?>
		</div>
	</div>

</div>
<div class="yf" data-use="backend.form.Link" data-settings='<?php 
echo json_encode(array('url_create' => URL::to('Link@create', array('viewport' => 'item', 'callback' => '{{callback}}')), 'url_update' => URL::to('Link@update:{{id}}', array('viewport' => 'item', 'callback' => '{{callback}}')), 'url_delete' => URL::to('Link@delete:{{id}}'), 'url_json' => URL::to('Link@json:{{id}}')));
?>
'>
	
	<script class="yf-template" type="text/html">
		<div>
			<span>{{title}</span><br />
			<span>{{url}}</span>
		</div>
	</script>

	<?php 
echo FormHTML::hidden($element->name, $element->value, array('class' => 'yf-value'));
?>

	<div class="section">
		<?php 
echo HTML::anchor('#', text('label.link_create'), array('class' => 'yf-create btn btn-default btn-md', 'title' => text('label.link_create')));
?>
		<div class="pull-right">
			<?php 
echo HTML::anchor('#', '<span class="glyphicon glyphicon-pencil"></span>', array('class' => 'yf-update btn btn-default btn-xs', 'title' => text('label.link_update')));
echo HTML::anchor('#', '<span class="glyphicon glyphicon-trash"></span>', array('class' => 'yf-delete  btn btn-default btn-xs', 'title' => text('label.link_delete'), 'data-question' => text('question.link_delete')));
?>
		</div>
		<div class="yf-preview"></div>
	</div>
</div>
<div class="yf  form-inline" data-use="backend.form.Item" data-settings='<?php 
echo json_encode(array('url_create' => URL::to('{{module}}@list', array('viewport' => 'module', 'task' => 'select', 'callback' => '{{callback}}')), 'url_update' => URL::to('{{module}}@list:{{id}}', array('viewport' => 'module', 'task' => 'select', 'callback' => '{{callback}}')), 'url_json' => URL::to('{{module}}@json:{{id}}')));
?>
'>
	
	<?php 
echo FormHTML::hidden($element->name . '[item_id]', $element->value['item_id'], array('class' => 'yf-item_id'));
?>
	
	<?php 
echo FormHTML::hidden($element->name . '[params]', isset($element->value['params']) && !empty($element->value['params']) ? json_encode($element->value['params']) : '{}', array('class' => 'yf-params'));
?>
	
	<?php 
echo FormHTML::hidden($element->name . '[request]', $element->value['request'], array('class' => 'yf-request'));
?>
	
	<div class="section">
		<div class="form-group">
			<select class="yf-item-module form-control" name="<?php 
echo $element->name . '[module]';
?>
">
				<?php 
foreach ($element->modules as $value => $label) {
    ?>
					<option value="<?php 
    echo $value;
    ?>
" <?php 
    echo $element->value['module'] == $value && $element->value['request'] == '' ? 'selected' : '';
<div class="yf" data-use="backend.form.Upload">
	<?php 
for ($i = 0; $i < $element->amount; $i++) {
    ?>
		<?php 
    echo FormHTML::file($element->name, array('multiple' => 'multiple'));
    ?>
<br /><br />
	<?php 
}
?>
</div>
<div class="imageEmbed">

	<script class="imageEmbeddedTemplate" type="text/x-jquery-tmpl">
		<img src=<?php 
echo $_path['files'] . 'images/admin/';
?>
${file} width="90" height="90" />
	</script>
	
	<?php 
echo FormHTML::hidden($element->name . '[id]', $element->value['id'], array('class' => 'imageId'));
?>
	<?php 
echo FormHTML::hidden($element->name . '[file]', $element->value['file'], array('class' => 'imageFile'));
?>
	<?php 
echo FormHTML::hidden($element->name . '[title]', $element->value['title'], array('class' => 'imageTitle'));
?>
	
	<div class="imageEmbedded">
	</div>
	
		<?php 
echo HTML::anchor(Route::url($_route, array('mode' => 'browse', 'task' => 'select', 'controller' => $element->controller)), '<span>' . text($element->controller . ':label.browse') . '</span>', array('class' => 'browse btn'));
?>
</div>

<script type="text/javascript">yf.library('form.image.internal');</script>
<?php

View::asset('js', URL::get('vendor') . 'tinymce/tinymce.min.js');
View::asset('js', URL::get('library') . 'js/backend/tinymce/yflink/plugin.js');
View::asset('js', URL::get('library') . 'js/backend/tinymce/yfimage/plugin.js');
View::asset('template', '<script class="yf" name="tinymce-image-default" type="text/html">
<img align="left" data-id="{{id}}" src="{{src}}" alt="{{title}}" data-size="{{size}}" data-enlarge="{{enlarge}}" />
</script>');
?>
<!-- Text area -->
<span class="yf" data-use="backend.form.Tinymce" data-template="tinymce-image-default" data-settings='<?php 
echo json_encode(array('tinymce' => array('mode' => 'textareas', 'selector' => '', 'content_css' => URL::get('base') . 'style/css/default.css,' . URL::get('base') . 'style/css/style.css,' . URL::get('base') . 'style/css/wysiwyg.css', 'convert_urls' => FALSE, 'force_p_newlines' => FALSE, 'language' => $_language, 'paste_word_valid_elements' => 'b,strong,i,em,h1,h2', 'menubar' => 'edit, insert, view, format, table', 'valid_elements' => 'object[height|width|style|data|type],param[name|value|style],embed[src|type|allowscriptaccess|allowfullscreen|width|height],span[name|value|style],strong/b,em/i,u/underline,a[href|target|id|class|title|data-id|style],p[style],h2[style],h3[style],hr[style],br,ul[style],ol[style],li[style],img[src|alt|title|align|width|height|id|class|rel|data-size|data-id|data-enlarge|style],table[style|width|height],tr[width|height],td[width|height|rowspan|colspan],th,tbody,sub,sup,iframe[src|width|height|frameborder|style],pre[style],div[class|style],blockquote[class|style],code[class|style]', 'toolbar1' => 'undo redo | styleselect | bold italic | bullist numlist | yflink yfimage | code', 'width' => '100%', 'height' => 400, 'plugins' => 'paste,media,table,yfimage,yflink,code'), 'url_link' => URL::to((isset($element->controller_link) ? $element->controller_link : 'link') . '@{{action}}:{{id}}', array('viewport' => 'item', 'callback' => '{{callback}}')), 'title_link' => text('link:module.single'), 'url_image' => URL::to((isset($element->controller_image) ? $element->controller_image : 'image') . '@embed:{{id}}', array('viewport' => 'item', 'param1' => '{{size}}', 'callback' => '{{callback}}')), 'title_image' => text('image:module.single'), 'path_images' => URL::get('files') . 'images/'));
?>
'>
	
	<?php 
echo FormHTML::textarea($element->name, HTML::chars($element->value), $element->attributes, FALSE);
?>
</span>
	<!-- backup: when js fails, the original values will not be lost -->
	<!-- hidden will be removed directly when js loads -->
	<?php 
foreach ($values as $value) {
    ?>
		<?php 
    echo FormHTML::hidden($element->name, $value, array('class' => 'yf-value-backup'));
    ?>
	<?php 
}
?>
	
	<!-- value template -->
	<script class="yf-template-backup" type="text/html">
		<?php 
echo FormHTML::hidden($element->name, '{{value}}', array('class' => 'yf-value-backup'));
?>
	</script>
	
	<!-- item template -->
	<script class="yf-template" type="text/html">
		<div class="yf-item item">
			<input type="hidden" name="<?php 
echo $element->name;
?>
" value='{{id}}' />
			<div class="pull-right">
				<a href="#" class="yf-update btn btn-default btn-xs" title="<?php 
echo text('label.update') . ' ' . text($element->controller . ':module.single', array(), FALSE);
?>
"><span class="glyphicon glyphicon-pencil"></span></a>