Till Brehm
2016-06-29 566c28a952bf361ba9a22d7c39d5c335f6956ab2
Added "DATE" form type that works like the "DATETIME" type incl. date picker, just without time details.
2 files modified
36 ■■■■■ changed files
interface/lib/classes/tform.inc.php 18 ●●●●● patch | view | raw | blame | history
interface/lib/classes/tform_base.inc.php 18 ●●●●● patch | view | raw | blame | history
interface/lib/classes/tform.inc.php
@@ -235,6 +235,24 @@
        return $diffrec;
    }
    /**
     * Generate HTML for DATE fields.
     *
     * @access private
     * @param string $form_element Name of the form element.
     * @param string $default_value Selected value for fields.
     * @return string HTML
     */
    function _getDateHTML($form_element, $default_value)
    {
        $_date = ($default_value && $default_value != '0000-00-00' ? strtotime($default_value) : false);
        $_showdate = ($_date === false) ? false : true;
        $tmp_dt = strtr($this->dateformat,array('d' => 'dd', 'm' => 'mm', 'Y' => 'yyyy', 'y' => 'yy'));
        return '<input type="text" class="form-control" name="' . $form_element . '" value="' . ($_showdate ? date($this->dateformat, $_date) : '') . '"  data-input-element="date" data-date-format="' . $tmp_dt . '" />';
    }
    /**
interface/lib/classes/tform_base.inc.php
@@ -562,6 +562,18 @@
                        $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds);
                        break;
                    case 'DATE':
                        if (strtotime($val) !== false) {
                            $dt_value = $val;
                        } elseif ( isset($field['default']) && (strtotime($field['default']) !== false) ) {
                            $dt_value = $field['default'];
                        } else {
                            $dt_value = 0;
                        }
                        $new_record[$key] = $this->_getDateHTML($key, $dt_value);
                        break;
                    default:
                        if(isset($record[$key])) {
                            $new_record[$key] = htmlspecialchars($record[$key]);
@@ -672,6 +684,12 @@
                    $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds);
                    break;
                case 'DATE':
                    $dt_value = (isset($field['default'])) ? $field['default'] : 0;
                    $new_record[$key] = $this->_getDateHTML($key, $dt_value);
                    break;
                default:
                    $new_record[$key] = htmlspecialchars($field['default']);