diff options
author | Philip Häusler <msquare@notrademark.de> | 2012-12-27 03:04:54 +0100 |
---|---|---|
committer | Philip Häusler <msquare@notrademark.de> | 2012-12-27 03:04:54 +0100 |
commit | caeadadb2734bfc537d3e1701b2a20cad233a07e (patch) | |
tree | e0606c6eb37707b372e65cf1c5f6243254eb94fe /includes/sys_template.php | |
parent | 32cae74a585ecc074124aa5b9668b9f0a25a2ad5 (diff) | |
parent | 0f0f847af4c9ffe8138c802086bda7eb15f9baef (diff) |
Merge branch 'dev'
Diffstat (limited to 'includes/sys_template.php')
-rw-r--r-- | includes/sys_template.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/includes/sys_template.php b/includes/sys_template.php index 4e701879..a988ff23 100644 --- a/includes/sys_template.php +++ b/includes/sys_template.php @@ -37,6 +37,34 @@ function form_checkboxes($name, $label, $items, $selected) { } /** + * Rendert eine Tabelle von Checkboxen für ein Formular + * @param names Assoziatives Array mit Namen der Checkboxen als Keys und Überschriften als Values + * @param label Die Beschriftung der gesamten Tabelle + * @param items Array mit den Beschriftungen der Zeilen + * @param selected Mehrdimensionales Array, wobei $selected[foo] ein Array der in der Datenreihe foo markierten Checkboxen ist + * @param disabled Wie selected, nur dass die entsprechenden Checkboxen deaktiviert statt markiert sind + */ +function form_multi_checkboxes($names, $label, $items, $selected, $disabled = array()) { + $html = "<table><thead><tr>"; + foreach ($names as $title) + $html .= "<th>$title</th>"; + $html .= "</tr></thead><tbody>"; + foreach ($items as $key => $item) { + $html .= "<tr>"; + foreach ($names as $name => $title) { + $id = $name . '_' . $key; + $sel = array_search($key, $selected[$name]) !== false ? ' checked="checked"' : ""; + if (!empty($disabled) && !empty($disabled[$name]) && array_search($key, $disabled[$name]) !== false) + $sel .= ' disabled="disabled"'; + $html .= '<td style="text-align: center;"><input type="checkbox" id="' . $id . '" name="' . $name . '[]" value="' . $key . '"' . $sel . ' /></td>'; + } + $html .= '<td><label for="' . $id . '">' . $item . '</label></td></tr>'; + } + $html .= "</tbody></table>"; + return form_element($label, $html); +} + +/** * Rendert eine Checkbox */ function form_checkbox($name, $label, $selected, $value = 'checked') { |