<?php
function _kompass_print_textbox($settingName, $settingValue, $style = '', $appendix = '', $lines = 1, $data_type = 'text') {
    if (1 === $lines) {
        echo '<input required style="' . $style . '" type="' . $data_type . '" name="' . $settingName . '" value="' . $settingValue . '" />';
    } else {
        echo '<textarea required style="' . $style . '" name="' . $settingName . '" rows=' . $lines . '>' . $settingValue . '</textarea>';
    }
    if (null !== $appendix) {
        echo '&nbsp;' . $appendix;
    }
    if (defined('WP_DEBUG') && WP_DEBUG == true) {
        echo '<br />' . $settingName;
    }
}

function kompass_print_textbox(array $args) {
	if (!isset($args['setting'])) {
		wp_die('Missing argument setting at text-element ' . print_r($args, true));
	}
	$setting = get_option($args['setting'], null);
	$setting = $setting ?? ( $args['value'] ?? '' );
    $appendix = $args['appendix'] ?? null;
    $lines = $args['lines'] ?? 1;
    $type = $args['type'] ?? 'text';


    $style = isset($args['style']) ? $args['style'] : '';

	$value = esc_attr($setting);
	if (isset($args['unit_division'])) {
		$value = (int)$value / (int)$args['unit_division'];
	}

	if ($value === null && isset($args['value'])) {
		$value = $args['value'];
	}


	_kompass_print_textbox($args['setting'], $value, $style, $appendix, $lines, $type);
}