#91 Use jQuery UI's date picker rather than HTML 5 date field

To ensure cross-browser compatibility
merge-requests/2/head
Mike Koch 9 years ago
parent f7064ed399
commit 5941bf7e35

@ -92,13 +92,9 @@ foreach ($hesk_settings['custom_fields'] as $k=>$v)
{
if ($v['use'] && isset($_POST[$k]))
{
// Dates must be in YYYY-MM-DD format. Thanks to
// http://stackoverflow.com/questions/19773418/regex-to-validate-date-in-php-using-format-as-yyyy-mm-dd for the regex!
// Date will be handled by the jQuery datepicker
if( $v['type'] == 'date' && $_POST[$k] != '')
{
if (!preg_match('^(19|20)\d\d[\-\/.](0[1-9]|1[012])[\-\/.](0[1-9]|[12][0-9]|3[01])$', $_POST[$k]) || strtotime($_POST[$k]) < 0)
$hesk_error_buffer[$k]=$hesklang['invalid_date_format'];
} else {
$tmpvar[$k] = hesk_dateToString($_POST[$k]);
}

@ -345,11 +345,15 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
$v['value'] = $k_value;
}
$cls = in_array($k,$_SESSION['iserror']) ? ' class="isError" ' : '';
echo '<div class="form-group">
<label for="'.$v['name'].'" class="col-sm-3 control-label">'.$v['name'].': '.$v['req'].'</label>
<div class="col-sm-9"><input type="date" class="form-control" placeholder="'.$v['name'].'" id="'.$v['name'].'" name="'.$k.'" size="40" maxlength="'.$v['maxlen'].'" value="'.$v['value'].'" '.$cls.' /></div>
$cls = in_array($k,$_SESSION['iserror']) ? ' isError ' : '';
echo '
<div class="form-group">
<label for="'.$v['name'].'" class="col-sm-3 control-label">'.$v['name'].': '.$v['req'].'</label>
<div class="col-sm-9">
<input type="text" class="datepicker form-control white-readonly '.$cls.'" placeholder="'.$v['name'].'" id="'.$v['name'].'" name="'.$k.'" size="40"
maxlength="'.$v['maxlen'].'" value="'.$v['value'].'" readonly/>
</div>
</div>';
break;

@ -364,3 +364,8 @@ div.setupButtons {
float: right;
}
}
.white-readonly {
cursor: text !important;
background-color: #fff !important;
}

@ -7,7 +7,12 @@ var loadJquery = function()
//-- Active popovers
$('[data-toggle="popover"]').popover({
trigger: 'hover'
})
});
//-- Activate jQuery's date picker
$(function() {
$('.datepicker').datepicker();
});
};
function toggleRow(id) {

Loading…
Cancel
Save