"Engelsystem 32c3", "2" => "Engelsystem cccamp15", "0" => "Engelsystem light", "1" => "Engelsystem dark" ]; /** * Display muted (grey) text. * * @param string $text */ function mute($text) { return '' . $text . ''; } function progress_bar($valuemin, $valuemax, $valuenow, $class = '', $content = '') { return '
' . $content . '
'; } /** * Render glyphicon * * @param string $glyph_name */ function glyph($glyph_name) { return ' '; } /** * Renders a tick or a cross by given boolean * * @param boolean $boolean */ function glyph_bool($boolean) { return '' . glyph($boolean ? 'ok' : 'remove') . ''; } function div($class, $content = [], $dom_id = "") { $dom_id = $dom_id != '' ? ' id="' . $dom_id . '"' : ''; return '' . join("\n", $content) . ''; } function heading($content, $number = 1) { return "" . $content . ""; } /** * Render a toolbar. * * @param array $items * @return string */ function toolbar($items = [], $right = false) { return ''; } /** * Render a link for a toolbar. * * @param string $href * @param string $glyphicon * @param string $label * @param bool $selected * @return string */ function toolbar_item_link($href, $glyphicon, $label, $selected = false) { return '
  • ' . ($glyphicon != '' ? ' ' : '') . $label . '
  • '; } function toolbar_item_divider() { return '
  • '; } function toolbar_dropdown($glyphicon, $label, $submenu, $class = '') { return ''; } function toolbar_popover($glyphicon, $label, $content, $class = '') { $dom_id = md5(microtime() . $glyphicon . $label); return ''; } 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 = ""; foreach ($names as $title) { $html .= ""; } $html .= ""; foreach ($items as $key => $item) { $html .= ""; foreach ($names as $name => $title) { $dom_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 .= ''; } $html .= ''; } $html .= "
    $title
    "; return form_element($label, $html); } /** * Rendert eine Checkbox */ function form_checkbox($name, $label, $selected, $value = 'checked') { return '
    '; } /** * Rendert einen Radio */ function form_radio($name, $label, $selected, $value) { return '
    '; } /** * Rendert einen Infotext in das Formular */ function form_info($label, $text = "") { if ($label == "") { return '' . glyph('info-sign') . $text . ''; } if ($text == "") { return '

    ' . $label . '

    '; } return form_element($label, '

    ' . $text . '

    ', ''); } /** * Rendert den Absenden-Button eines Formulars */ function form_submit($name, $label) { return form_element('', ""); } /** * Rendert ein Formular-Textfeld */ function form_text($name, $label, $value, $disabled = false) { $disabled = $disabled ? ' disabled="disabled"' : ''; return form_element($label, '', 'form_' . $name); } /** * Rendert ein Formular-Emailfeld */ function form_email($name, $label, $value, $disabled = false) { $disabled = $disabled ? ' disabled="disabled"' : ''; return form_element($label, '', 'form_' . $name); } /** * Rendert ein Formular-Dateifeld */ function form_file($name, $label) { return form_element($label, '', 'form_' . $name); } /** * Rendert ein Formular-Passwortfeld */ function form_password($name, $label, $disabled = false) { $disabled = $disabled ? ' disabled="disabled"' : ''; return form_element($label, '', 'form_' . $name); } /** * Rendert ein Formular-Textfeld */ function form_textarea($name, $label, $value, $disabled = false) { $disabled = $disabled ? ' disabled="disabled"' : ''; return form_element($label, '', 'form_' . $name); } /** * Rendert ein Formular-Auswahlfeld */ function form_select($name, $label, $values, $selected) { return form_element($label, html_select_key('form_' . $name, $name, $values, $selected), 'form_' . $name); } /** * Rendert ein Formular-Element */ function form_element($label, $input, $for = "") { if ($label == '') { return '
    ' . $input . '
    '; } return '
    ' . '' . $input . '
    '; } /** * Rendert ein Formular */ function form($elements, $action = "") { return '
    ' . join($elements) . '
    '; } /** * 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 = ''; $html .= ''; foreach ($columns as $key => $column) { $html .= ''; } $html .= ''; $html .= ''; foreach ($rows as $row) { $html .= ''; foreach ($columns as $key => $column) { $value = " "; if (isset($row[$key])) { $value = $row[$key]; } $html .= ''; } $html .= ''; } $html .= ''; $html .= '
    ' . $column . '
    ' . $value . '
    '; return $html; } /** * Rendert einen Knopf */ function button($href, $label, $class = "") { return '' . $label . ''; } /** * Rendert einen Knopf mit Glyph */ function button_glyph($href, $glyph, $class = "") { return button($href, glyph($glyph), $class); } /** * Rendert eine Toolbar mit Knöpfen */ function buttons($buttons = []) { return '
    ' . table_buttons($buttons) . '
    '; } function table_buttons($buttons = []) { return '
    ' . join(' ', $buttons) . '
    '; } // Load and render template function template_render($file, $data) { if (file_exists($file)) { $template = file_get_contents($file); if (is_array($data)) { foreach ($data as $name => $content) { $template = str_replace("%" . $name . "%", $content, $template); } } return $template; } engelsystem_error("Cannot find template file «" . $file . "»."); } function shorten($str, $length = 50) { if (strlen($str) < $length) { return $str; } return '' . substr($str, 0, $length - 3) . '...'; } function table_body($array) { $html = ""; foreach ($array as $line) { $html .= ""; if (is_array($line)) { foreach ($line as $td) { $html .= "" . $td . ""; } } else { $html .= "" . $line . ""; } $html .= ""; } return $html; } function html_options($name, $options, $selected = "") { $html = ""; foreach ($options as $value => $label) { $html .= ' ' . $label; } return $html; } function html_select_key($dom_id, $name, $rows, $selected) { $html = ''; return $html; } function ReplaceSmilies($neueckig) { $neueckig = str_replace(";o))", "", $neueckig); $neueckig = str_replace(":-))", "", $neueckig); $neueckig = str_replace(";o)", "", $neueckig); $neueckig = str_replace(":)", "", $neueckig); $neueckig = str_replace(":-)", "", $neueckig); $neueckig = str_replace(":(", "", $neueckig); $neueckig = str_replace(":-(", "", $neueckig); $neueckig = str_replace(":o(", "", $neueckig); $neueckig = str_replace(":o)", "", $neueckig); $neueckig = str_replace(";o(", "", $neueckig); $neueckig = str_replace(";(", "", $neueckig); $neueckig = str_replace(";-(", "", $neueckig); $neueckig = str_replace("8)", "", $neueckig); $neueckig = str_replace("8o)", "", $neueckig); $neueckig = str_replace(":P", "", $neueckig); $neueckig = str_replace(":-P", "", $neueckig); $neueckig = str_replace(":oP", "", $neueckig); $neueckig = str_replace(";P", "", $neueckig); $neueckig = str_replace(";oP", "", $neueckig); $neueckig = str_replace("?)", "", $neueckig); return $neueckig; } ?>