-
Notifications
You must be signed in to change notification settings - Fork 0
/
bootstrap.php
114 lines (95 loc) · 2.75 KB
/
bootstrap.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
class Form {
private static function setAttribute($attributes) {
$string = '';
foreach($attributes as $key => $attribute) {
$string .= $key.'="' . $attribute . '" ';
}
return $string;
}
static function text($name, &$value, $attribute = []) {
$att = [
'id' => $name,
'name' => $name,
'value' => $value,
'class' => 'form-control'
];
$att = array_merge($att, $attribute);
return '<input ' . self::setAttribute($att) . '/>';
}
static function select($name, $options, &$selected = null, $attribute = []) {
$att = [
'id' => $name,
'name' => $name,
'class' => 'form-control'
];
$att = array_merge($att, $attribute);
$opts = '';
foreach($options as $value => $display) {
if($value == $selected) {
$opts .= '<option value="'.$value.'" selected="selected">'.$display.'</option>';
}else{
$opts .= '<option value="'.$value.'">'.$display.'</option>';
}
}
return '<select '.self::setAttribute($att).'>'.$opts.'</select>';
}
static function textarea($name, &$value, $attribute = []) {
$att = [
'id' => $name,
'name' => $name,
'class' => 'form-control'
];
$att = array_merge($att, $attribute);
return '<textarea ' . self::setAttribute($att) . '>'.$value.'</textarea>';
}
}
class BS {
private static function setAttribute($attributes) {
$string = '';
foreach($attributes as $key => $attribute) {
$string .= $key.'="' . $attribute . '" ';
}
return $string;
}
static function table(&$data, $header = [], $attribute = []){
$att = array_merge($attribute, ['class' => 'table table-condensed table-hover table-bordered']);
$att = self::setAttribute($att);
if(empty($header)) {
$head = '';
} else{
$head = '<thead><tr>';
foreach($header as $h) {
$head .= '<th>'.$h.'</th>';
}
$head .= '</tr></thead>';
}
if(empty($data)) {
$content = '';
} else {
$content = '<tbody>';
foreach($data as $arr) {
$content .= '<tr>';
if(is_array($arr)) {
foreach($arr as $a) {
$content .= '<td>'.$a.'</td>';
}
}else{
$content .= '<td>'.$arr.'</td>';
}
$content .= '</tr>';
}
$content .= '</tbody>';
}
return str_replace(['@attribute','@head','@content'], [$att, $head, $content], '<table @attribute>@head@content</table>');
}
static function nav($name = null, $menus = []) {
$html = '<nav class="navbar navbar-inverse"><div class="navbar-header"><a class="navbar-brand" href="#">'.$name.'</a></div><div class="collapse navbar-collapse">@menu</div></nav>';
$menu = '<div class="collapse navbar-collapse"><ul class="nav navbar-nav">';
foreach($menus as $name => $url) {
$menu .= '<li><a href="'.$url.'">'.$name.'</a></li>';
}
$menu .= '</ul></div>';
return str_replace('@menu', $menu, $html);
}
}