<?php class Bootstrap { public static function modal($args) { $buttonSecondary = $args['buttonSecondary']; $buttonSecondaryClass = $args['buttonSecondaryClass']; $buttonPrimary = $args['buttonPrimary']; $buttonPrimaryClass = $args['buttonPrimaryClass']; $modalText = $args['modalText']; $modalTitle = $args['modalTitle']; $modalId = $args['modalId']; return <<<EOF <div id="$modalId" class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-body"> <h3>$modalTitle</h3> <p>$modalText</p> </div> <div class="modal-footer"> <button type="button" class="btn $buttonSecondaryClass" data-dismiss="modal">$buttonSecondary</button> <button type="button" class="btn $buttonPrimaryClass">$buttonPrimary</button> </div> </div> </div> </div> EOF; } public static function link($args) { $options = 'href="'.$args['href'].'"'; if (isset($args['class'])) { $options .= ' class="'.$args['class'].'"'; } if (isset($args['target'])) { $options .= ' target="'.$args['target'].'"'; } if (isset($args['icon'])) { return '<a '.$options.'><span class="oi oi-'.$args['icon'].'" style="font-size: 0.7em;"></span> '.$args['title'].'</a>'; } return '<a '.$options.'>'.$args['title'].'</a>'; } public static function pageTitle($args) { $icon = $args['icon']; $title = $args['title']; return <<<EOF <h2 class="mt-0 mb-3"> <span class="oi oi-$icon" style="font-size: 0.7em;"></span> $title </h2> EOF; } public static function formOpen($args) { $class = empty($args['class'])?'':'class="'.$args['class'].'"'; $id = empty($args['id'])?'':'id="'.$args['id'].'"'; $enctype = empty($args['enctype'])?'':'enctype="'.$args['enctype'].'"'; $action = empty($args['action'])?'action=""':'action="'.$args['action'].'"'; $method = empty($args['method'])?'method="post"':'method="'.$args['method'].'"'; $style = empty($args['style'])?'':'style="'.$args['style'].'"'; return <<<EOF <form $class $enctype $id $method $action $style autocomplete="off"> EOF; } public static function formClose() { return <<<EOF </form> <script> $(document).ready(function() { // Prevent the form submit when press enter key. $("form").keypress(function(e) { if ((e.which == 13) && (e.target.type !== "textarea")) { return false; } }); }); </script> EOF; } public static function formTitle($args) { $title = $args['title']; return <<<EOF <h6 class="mt-4 mb-2 pb-2 border-bottom text-uppercase">$title</h6> EOF; } public static function formInputTextBlock($args) { $name = $args['name']; $disabled = empty($args['disabled'])?'':'disabled'; $placeholder = isset($args['placeholder'])?$args['placeholder']:''; $value = isset($args['value'])?$args['value']:''; $id = 'js'.$name; if (isset($args['id'])) { $id = $args['id']; } $tip = ''; if (isset($args['tip'])) { $tip = '<small class="form-text text-muted">'.$args['tip'].'</small>'; } $label = ''; if (isset($args['label'])) { $label = '<label class="mt-4 mb-2 pb-2 border-bottom text-uppercase w-100" for="'.$id.'">'.$args['label'].'</label>'; } $class = 'form-control'; if (isset($args['class'])) { $class = $class.' '.$args['class']; } $type = 'text'; if (isset($args['type'])) { $type = $args['type']; } return <<<EOF <div class="form-group m-0"> $label <input type="text" value="$value" class="$class" id="$id" name="$name" placeholder="$placeholder" $disabled> $tip </div> EOF; } public static function formInputFile($args) { $id = 'js'.$args['name']; if (isset($args['id'])) { $id = $args['id']; } $class = 'custom-file'; if (isset($args['class'])) { $class = $class.' '.$args['class']; } $html = '<div class="'.$class.'">'; $html .= '<input type="file" class="custom-file-input" id="'.$id.'">'; $html .= '<label class="custom-file-label" for="'.$id.'">'.$args['label'].'</label>'; $html .= '</div>'; return $html; } public static function formTextarea($args) { $id = 'js'.$args['name']; if (isset($args['id'])) { $id = $args['id']; } $class = 'form-control'; if (isset($args['class'])) { $class = $class.' '.$args['class']; } $html = '<div class="form-group row">'; if (isset($args['label'])) { $html .= '<label for="'.$id.'" class="col-sm-2 col-form-label">'.$args['label'].'</label>'; } $html .= '<div class="col-sm-10">'; $html .= '<textarea class="'.$class.'" id="'.$id.'" name="'.$args['name'].'" rows="'.$args['rows'].'" placeholder="'.$args['placeholder'].'">'.$args['value'].'</textarea>'; if (isset($args['tip'])) { $html .= '<small class="form-text text-muted">'.$args['tip'].'</small>'; } $html .= '</div>'; $html .= '</div>'; return $html; } public static function formTextareaBlock($args) { $id = 'js'.$args['name']; if (isset($args['id'])) { $id = $args['id']; } $class = 'form-control'; if (!empty($args['class'])) { $class = $class.' '.$args['class']; } $html = '<div class="form-group m-0">'; if (!empty($args['label'])) { $html .= '<label class="mt-4 mb-2 pb-2 border-bottom text-uppercase w-100" for="'.$id.'">'.$args['label'].'</label>'; } $html .= '<textarea class="'.$class.'" id="'.$id.'" name="'.$args['name'].'" rows="'.$args['rows'].'" placeholder="'.$args['placeholder'].'">'.$args['value'].'</textarea>'; if (!empty($args['tip'])) { $html .= '<small class="form-text text-muted">'.$args['tip'].'</small>'; } $html .= '</div>'; return $html; } public static function formInputText($args) { $name = $args['name']; $disabled = empty($args['disabled'])?'':'disabled'; $placeholder = isset($args['placeholder'])?$args['placeholder']:''; $value = isset($args['value'])?$args['value']:''; $id = 'js'.$name; if (isset($args['id'])) { $id = $args['id']; } $tip = ''; if (isset($args['tip'])) { $tip = '<small class="form-text text-muted">'.$args['tip'].'</small>'; } $label = ''; if (isset($args['label'])) { $label = '<label for="'.$id.'" class="col-sm-2 col-form-label">'.$args['label'].'</label>'; } $class = 'form-control'; if (isset($args['class'])) { $class = $class.' '.$args['class']; } $type = 'text'; if (isset($args['type'])) { $type = $args['type']; } return <<<EOF <div class="form-group row"> $label <div class="col-sm-10"> <input class="$class" id="$id" name="$name" value="$value" placeholder="$placeholder" type="$type" $disabled> $tip </div> </div> EOF; } public static function formCheckbox($args) { $labelForCheckbox = isset($args['labelForCheckbox'])?$args['labelForCheckbox']:''; $placeholder = isset($args['placeholder'])?$args['placeholder']:''; $tip = isset($args['tip'])?$args['tip']:' '; $value = isset($args['value'])?$args['value']:''; $name = $args['name']; $id = 'js'.$name; if (isset($args['id'])) { $id = $args['id']; } $disabled = isset($args['disabled'])?'disabled':''; $class = 'form-group'; if (isset($args['class'])) { $class = $class.' '.$args['class']; } $type = 'text'; if (isset($args['type'])) { $type = $args['type']; } $label = ''; if (!empty($args['label'])) { $label = '<label class="mt-4 mb-2 pb-2 border-bottom text-uppercase w-100">'.$args['label'].'</label>'; } $checked = $args['checked']?'checked':''; return <<<EOF <div class="$class"> $label <div class="form-check"> <input name="$name" class="form-check-input" type="checkbox" id="$id" $checked> <label class="form-check-label" for="$id">$labelForCheckbox</label> <small class="form-text text-muted">$tip</small> </div> </div> EOF; } public static function formSelect($args) { $id = 'js'.$args['name']; if (isset($args['id'])) { $id = $args['id']; } $class = 'custom-select'; if (isset($args['class'])) { $class = $class.' '.$args['class']; } $html = '<div class="form-group row">'; if (isset($args['label'])) { $html .= '<label for="'.$id.'" class="col-sm-2 col-form-label">'.$args['label'].'</label>'; } $html .= '<div class="col-sm-10">'; $html .= '<select id="'.$id.'" name="'.$args['name'].'" class="'.$class.'">'; foreach ($args['options'] as $key=>$value) { $html .= '<option '.(($key==$args['selected'])?'selected':'').' value="'.$key.'">'.$value.'</option>'; } $html .= '</select>'; if (isset($args['tip'])) { $html .= '<small class="form-text text-muted">'.$args['tip'].'</small>'; } $html .= '</div>'; $html .= '</div>'; return $html; } public static function formSelectBlock($args) { $id = 'js'.$args['name']; if (isset($args['id'])) { $id = $args['id']; } $class = 'custom-select'; if (!empty($args['class'])) { $class = $class.' '.$args['class']; } $html = '<div class="form-group m-0">'; if (!empty($args['label'])) { $html .= '<label class="mt-4 mb-2 pb-2 border-bottom text-uppercase w-100" for="'.$id.'">'.$args['label'].'</label>'; } $html .= '<select id="'.$id.'" name="'.$args['name'].'" class="'.$class.'">'; if (!empty($args['emptyOption'])) { $html .= '<option value="">'.$args['emptyOption'].'</option>'; } foreach ($args['options'] as $key=>$value) { $html .= '<option '.(($key==$args['selected'])?'selected':'').' value="'.$key.'">'.$value.'</option>'; } $html .= '</select>'; if (!empty($args['tip'])) { $html .= '<small class="form-text text-muted">'.$args['tip'].'</small>'; } $html .= '</div>'; return $html; } public static function formInputHidden($args) { return '<input type="hidden" id="js'.$args['name'].'" name="'.$args['name'].'" value="'.$args['value'].'">'; } public static function alert($args) { $class = 'alert'; if (!empty($args['class'])) { $class = $class.' '.$args['class']; } $text = $args['text']; return <<<EOF <div class="$class" role="alert">$text</div> EOF; } }