View file Web Template Ktpl/package/templates/ktpl/assets/fields/date.tpl.php

File size: 1.99Kb
<?php $this->addJSFromContext('templates/default/js/jquery-ui.js'); ?>
<?php $this->addJSFromContext('templates/default/js/i18n/jquery-ui/'.cmsCore::getLanguageName().'.js'); ?>
<?php $this->addCSSFromContext('templates/default/css/jquery-ui.css'); ?>

<?php if($field->title){ ?><label for="<?php echo $field->id; ?>"><?php echo $field->title; ?></label><?php } ?>

<?php echo html_datepicker($field->data['fname_date'], $field->data['date'], array('id'=>$field->id), array('minDate'=>date(cmsConfig::get('date_format'), 86400))); ?>

<?php if($field->data['show_time']){ ?>
    <?php echo html_select_range($field->data['fname_hours'], 0, 23, 1, true, $field->data['hours']); ?> :
    <?php echo html_select_range($field->data['fname_mins'], 0, 59, 5, true, $field->data['mins']); ?>
<?php } ?>

    <a class="ajaxlink" onclick="return parser_current_time_<?php echo $field->id; ?>(this);" href="#"><?php echo LANG_PARSER_CURRENT_TIME; ?></a>
<script type="text/javascript">
    function parser_current_time_<?php echo $field->id; ?>(a){
        var now = new Date();
        var p = $(a).parent();
        p.find('input:eq(0)').val((now.getDate()+'.'+(now.getMonth()+1)+'.'+now.getFullYear()).replace(/(\b\d\b)/g, '0$1'));
        <?php if($field->data['show_time']){ ?>
        p.find('select:eq(0) > option:selected').attr('selected', false);
        p.find('select:eq(0) > option[value='+(now.getHours()+'').replace(/(\b\d\b)/g, '0$1')+']').prop('selected', true);
        p.find('select:eq(1) > option:selected').attr('selected', false);
        var mins = now.getMinutes(), last = p.find('select:eq(1) > option[value=00]');
        p.find('select:eq(1) > option').each(function(){
            if($(this).val()*1 > mins){
                last.prop('selected', true);
                return;
            }
            last = $(this);
        });
        if(last.not(':selected')){
            last.prop('selected', true);
        }
        <?php } ?>
        return false;
    }
</script>