Initialer Import
[memberdb.git] / include / html.php
1 <?php
2
3 function html_escape($val) {
4     return htmlentities($val, ENT_COMPAT, 'UTF-8');
5 }
6
7 function html_hidden_field($name, $value = '', $id = NULL) {
8     if (!isset($id)) $id = $name;
9     if (is_array($value)) {
10         if (isset($value[$name])) $value = $value[$name];
11         else $value = '';
12     }
13     return sprintf('<input type="hidden" name="%1$s" id="%3$s" value="%2$s"/>', $name, html_escape($value), $id) . "\n";
14 }
15
16 function html_text_field($label, $name, $value = '', $readonly = false, $id = NULL) {
17     if (!isset($id)) $id = $name;
18     if (is_array($value)) {
19         if (isset($value[$name])) $value = $value[$name];
20         else $value = '';
21     }
22     if ($readonly) $readonly = ' readonly="readonly"';
23     else $readonly = '';
24     return sprintf('<label for="%4$s">%1$s:</label><input type="text" name="%2$s" id="%4$s" value="%3$s"%5$s/>', html_escape($label), $name, html_escape($value), $id, $readonly) . "\n";
25 }
26
27 function html_money_field($label, $name, $value = '', $readonly = false, $id = NULL) {
28     if (!isset($id)) $id = $name;
29     if (is_array($value)) {
30         if (isset($value[$name])) $value = $value[$name];
31         else $value = '';
32     }
33     $value = str_replace(array('.', '€'), array(',', ''), $value);
34     if ($readonly) $readonly = ' readonly="readonly"';
35     else $readonly = '';
36     return sprintf('<label for="%4$s">%1$s:</label><input type="text" name="%2$s" id="%4$s" value="%3$s"%5$s/>', html_escape($label), $name, html_escape($value), $id, $readonly) . "\n";
37 }
38
39 function html_password_field($label, $name, $id = NULL) {
40     if (!isset($id)) $id = $name;
41     return sprintf('<label for="%3$s">%1$s:</label><input type="password" name="%2$s" id="%3$s"/>', html_escape($label), $name, $id) . "\n";
42 }
43
44 function html_checkbox($label, $name, $checked, $value, $readonly = false, $id = NULL) {
45     if (!isset($id)) $id = $name;
46     if (is_array($checked)) {
47         if (isset($checked[$name])) $checked = $checked[$name];
48         else $checked = false;
49     }
50     if ($checked) $checked = ' checked="checked"';
51     else $checked = '';
52     if ($readonly) $readonly = ' disabled="disabled"';
53     else $readonly = '';
54     return sprintf('<div class="checkbox"><input type="checkbox" name="%2$s" id="%4$s" value="%3$s"%5$s%6$s/><label for="%4$s">%1$s</label></div>', html_escape($label), $name, html_escape($value), $id, $checked, $readonly) . "\n";
55 }
56
57 function html_list_box($label, $name, $list, $selected, $readonly = false, $id = NULL, $tag_params = '') {
58     if (!isset($id)) $id = $name;
59     if (!empty($tag_params)) $tag_params = ' ' . $tag_params;
60     if (is_array($selected)) {
61         if (isset($selected[$name])) $selected = $selected[$name];
62         else $selected = '';
63     }
64     if ($readonly) return html_text_field($label, $name, isset($list[$selected]) ? $list[$selected] : '-', true);
65
66     $ret = sprintf('<label for="%2$s">%1$s:</label>', html_escape($label), $id) . "\n";
67     $ret .= sprintf('<select id="%1$s" name="%1$s"%2$s>', html_escape($name), $tag_params);
68     foreach ($list as $key => $value) {
69         if ($key == $selected) $ret .= sprintf('<option value="%1$s" selected="selected">%2$s</option>', html_escape($key), str_replace(' ', '&nbsp;', html_escape($value)));
70         else $ret .= sprintf('<option value="%1$s">%2$s</option>', html_escape($key), str_replace(' ', '&nbsp;', html_escape($value)));
71     }
72     $ret .= '</select>';
73     return $ret;
74 }
75