';
}
function form_hidden($name, $value) {
return '';
}
/**
* Rendert ein Zahlenfeld mit Buttons zum verstellen
*/
function form_spinner($name, $label, $value) {
return form_element($label, '
');
}
/**
* Render a bootstrap datepicker
*
* @param string $name
* Name of the parameter
* @param string $label
* Label
* @param int $value
* Unix Timestamp
* @param int $min_date
* Earliest possible date
* @return HTML
*/
function form_date($name, $label, $value, $start_date = '') {
$dom_id = $name . '-date';
$value = is_numeric($value) ? date('Y-m-d', $value) : '';
$start_date = is_numeric($start_date) ? date('Y-m-d', $start_date) : '';
return form_element($label, '
' . glyph('th') . '
', $dom_id);
}
/**
* Rendert eine Liste von Checkboxen für ein Formular
*
* @param
* name Die Namen der Checkboxen werden aus name_key gebildet
* @param
* label Die Beschriftung der Liste
* @param
* items Array mit den einzelnen Checkboxen
* @param
* selected Array mit den Keys, die ausgewählt sind
*/
function form_checkboxes($name, $label, $items, $selected) {
$html = form_element($label, '');
foreach ($items as $key => $item) {
$html .= form_checkbox($name . '_' . $key, $item, array_search($key, $selected) !== false);
}
return $html;
}
/**
* 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 = []) {
$html = "
';
}
/**
* Rendert ein Formular
*/
function form($elements, $action = "") {
return '';
}
/**
* Generiert HTML Code für eine "Seite".
* Fügt dazu die übergebenen Elemente zusammen.
*/
function page($elements) {
return join($elements);
}
/**
* Generiert HTML Code für eine "Seite" mit zentraler Überschrift
* Fügt dazu die übergebenen Elemente zusammen.
*/
function page_with_title($title, $elements) {
return '
' . $title . '
' . join($elements) . '
';
}
/**
* Rendert eine Datentabelle
*/
function table($columns, $rows_raw, $data = true) {
// If only one column is given
if (! is_array($columns)) {
$rows = [];
foreach ($rows_raw as $row) {
$rows[] = [
'col' => $row
];
}
return render_table([
'col' => $columns
], $rows, $data);
}
return render_table($columns, $rows_raw, $data);
}
/**
* Helper for rendering a html-table.
* use table()
*/
function render_table($columns, $rows, $data = true) {
if (count($rows) == 0) {
return info(_("No data found."), true);
}
$html = '