kopia lustrzana https://github.com/magicbug/Cloudlog
Basics for QSO end time logging
rodzic
cb5969a090
commit
77314edd31
|
@ -21,6 +21,8 @@ $lang['general_word_import'] = "Import";
|
|||
|
||||
$lang['general_word_date'] = 'Date';
|
||||
$lang['general_word_time'] = 'Time';
|
||||
$lang['general_word_time_on'] = 'Time on';
|
||||
$lang['general_word_time_off'] = 'Time off';
|
||||
$lang['general_word_datetime'] = 'Date/Time';
|
||||
$lang['general_word_none'] = 'None';
|
||||
$lang['general_word_name'] = 'Name';
|
||||
|
|
|
@ -8,6 +8,7 @@ class Logbook_model extends CI_Model {
|
|||
$callsign = str_replace('Ø', '0', $this->input->post('callsign'));
|
||||
// Join date+time
|
||||
$datetime = date("Y-m-d",strtotime($this->input->post('start_date')))." ". $this->input->post('start_time');
|
||||
$datetime_off = date("Y-m-d",strtotime($this->input->post('start_date')))." ". $this->input->post('end_time');
|
||||
if ($this->input->post('prop_mode') != null) {
|
||||
$prop_mode = $this->input->post('prop_mode');
|
||||
} else {
|
||||
|
@ -174,7 +175,7 @@ class Logbook_model extends CI_Model {
|
|||
// Create array with QSO Data
|
||||
$data = array(
|
||||
'COL_TIME_ON' => $datetime,
|
||||
'COL_TIME_OFF' => $datetime,
|
||||
'COL_TIME_OFF' => $datetime_off,
|
||||
'COL_CALL' => strtoupper(trim($callsign)),
|
||||
'COL_BAND' => $this->input->post('band'),
|
||||
'COL_BAND_RX' => $this->input->post('band_rx'),
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
<script src="<?php echo base_url(); ?>assets/js/popper.min.js"></script>
|
||||
<script src="<?php echo base_url(); ?>assets/js/jquery.fancybox.min.js"></script>
|
||||
<script src="<?php echo base_url(); ?>assets/js/bootstrap.bundle.js"></script>
|
||||
<script src="<?php echo base_url(); ?>assets/js/jquery.jclock.js"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/leaflet.js"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/Control.FullScreen.js"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/L.Maidenhead.qrb.js"></script>
|
||||
|
@ -1106,24 +1105,22 @@ $(document).on('keypress',function(e) {
|
|||
|
||||
if ( ! manual ) {
|
||||
$(function($) {
|
||||
var options = {
|
||||
utc: true,
|
||||
format: '%H:%M:%S'
|
||||
}
|
||||
$('.input_time').jclock(options);
|
||||
handleStart = setInterval(function() { getUTCTimeStamp($('.input_start_time')); }, 500);
|
||||
handleEnd = setInterval(function() { getUTCTimeStamp($('.input_end_time')); }, 500);
|
||||
});
|
||||
|
||||
$(function($) {
|
||||
var options = {
|
||||
utc: true,
|
||||
format: '%d-%m-%Y'
|
||||
}
|
||||
$('.input_date').jclock(options);
|
||||
handleDate = setInterval(function() { getUTCDateStamp($('.input_date')); }, 1000);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('#callsign').focusout(function() {
|
||||
if (! manual && $('#callsign').val() != '') {
|
||||
clearInterval(handleStart);
|
||||
clearInterval(handleDate);
|
||||
}
|
||||
});
|
||||
|
||||
jQuery(function($) {
|
||||
var input = $('#callsign');
|
||||
|
@ -1142,6 +1139,11 @@ $(document).on('keypress',function(e) {
|
|||
}
|
||||
if (e.key === "Escape") { // escape key maps to keycode `27`
|
||||
reset_fields();
|
||||
if ( ! manual ) {
|
||||
handleStart = setInterval(function() { getUTCTimeStamp($('.input_start_time')); }, 500);
|
||||
handleEnd = setInterval(function() { getUTCTimeStamp($('.input_end_time')); }, 500);
|
||||
handleDate = setInterval(function() { getUTCDateStamp($('.input_date')); }, 1000);
|
||||
}
|
||||
$('#callsign').val("");
|
||||
$("#callsign").focus();
|
||||
}
|
||||
|
@ -1316,6 +1318,21 @@ $(document).on('keypress',function(e) {
|
|||
$('#rst_rcvd').val('59');
|
||||
}
|
||||
}
|
||||
|
||||
function getUTCTimeStamp(el) {
|
||||
var now = new Date();
|
||||
var localTime = now.getTime();
|
||||
var utc = localTime + (now.getTimezoneOffset() * 60000);
|
||||
$(el).attr('value', ("0" + now.getUTCHours()).slice(-2)+':'+("0" + now.getUTCMinutes()).slice(-2)+':'+("0" + now.getUTCSeconds()).slice(-2));
|
||||
}
|
||||
|
||||
function getUTCDateStamp(el) {
|
||||
var now = new Date();
|
||||
var localTime = now.getTime();
|
||||
var utc = localTime + (now.getTimezoneOffset() * 60000);
|
||||
$(el).attr('value', ("0" + now.getUTCDate()).slice(-2)+'-'+("0" + (now.getUTCMonth()+1)).slice(-2)+'-'+now.getUTCFullYear());
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
|
|
@ -57,13 +57,19 @@
|
|||
<input type="text" class="form-control form-control-sm input_date" name="start_date" id="start_date" value="<?php if (($this->session->userdata('start_date') != NULL && ((time() - $this->session->userdata('time_stamp')) < 24 * 60 * 60))) { echo $this->session->userdata('start_date'); } else { echo date('d-m-Y');}?>" <?php echo ($_GET['manual'] == 0 ? "disabled" : ""); ?> required pattern="[0-3][0-9]-[0-1][0-9]-[0-9]{4}">
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-6">
|
||||
<label for="start_time"><?php echo lang('general_word_time'); ?></label>
|
||||
<input type="text" class="form-control form-control-sm input_time" name="start_time" id="start_time" value="<?php if (($this->session->userdata('start_time') != NULL && ((time() - $this->session->userdata('time_stamp')) < 24 * 60 * 60))) { echo $this->session->userdata('start_time'); } else {echo date('H:i'); } ?>" size="7" <?php echo ($_GET['manual'] == 0 ? "disabled" : ""); ?> required pattern="[0-2][0-9]:[0-5][0-9]">
|
||||
<div class="form-group col-md-3">
|
||||
<label for="start_time"><?php echo lang('general_word_time_on'); ?></label>
|
||||
<input type="text" class="form-control form-control-sm input_start_time" name="start_time" id="start_time" value="<?php if (($this->session->userdata('start_time') != NULL && ((time() - $this->session->userdata('time_stamp')) < 24 * 60 * 60))) { echo $this->session->userdata('start_time'); } else {echo date('H:i'); } ?>" size="7" <?php echo ($_GET['manual'] == 0 ? "disabled" : ""); ?> required pattern="[0-2][0-9]:[0-5][0-9]">
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-3">
|
||||
<label for="end_time"><?php echo lang('general_word_time_off'); ?></label>
|
||||
<input type="text" class="form-control form-control-sm input_end_time" name="end_time" id="end_time" value="<?php if (($this->session->userdata('end_time') != NULL && ((time() - $this->session->userdata('time_stamp')) < 24 * 60 * 60))) { echo $this->session->userdata('end_time'); } else {echo date('H:i'); } ?>" size="7" <?php echo ($_GET['manual'] == 0 ? "disabled" : ""); ?> required pattern="[0-2][0-9]:[0-5][0-9]">
|
||||
</div>
|
||||
|
||||
<?php if ( $_GET['manual'] == 0 ) { ?>
|
||||
<input class="input_time" type="hidden" id="start_time" name="start_time"value="<?php echo date('H:i'); ?>" />
|
||||
<input class="input_start_time" type="hidden" id="start_time" name="start_time"value="<?php echo date('H:i'); ?>" />
|
||||
<input class="input_end_time" type="hidden" id="end_time" name="end_time"value="<?php echo date('H:i'); ?>" />
|
||||
<input class="input_date" type="hidden" id="start_date" name="start_date" value="<?php echo date('d-m-Y'); ?>" />
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
|
|
@ -70,7 +70,9 @@
|
|||
|
||||
<td><?php echo lang('general_word_datetime'); ?></td>
|
||||
<?php if(($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE || ($this->config->item('show_time'))) { ?>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date($custom_date_format, $timestamp); $timestamp = strtotime($row->COL_TIME_ON); echo " at ".date('H:i', $timestamp); ?></td>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date($custom_date_format, $timestamp); $timestamp = strtotime($row->COL_TIME_ON); echo " at ".date('H:i', $timestamp); ?>
|
||||
<?php if ($row->COL_TIME_ON != $row->COL_TIME_OFF) { $timestamp = strtotime($row->COL_TIME_OFF); echo " - ".date('H:i', $timestamp); } ?>
|
||||
</td>
|
||||
<?php } else { ?>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date($custom_date_format, $timestamp); ?></td>
|
||||
<?php } ?>
|
||||
|
|
|
@ -1,222 +0,0 @@
|
|||
/*
|
||||
* jQuery jclock - Clock plugin - v 2.3.2
|
||||
* http://plugins.jquery.com/project/jclock
|
||||
*
|
||||
* Copyright (c) 2007-2011 Doug Sparling <http://www.dougsparling.com>
|
||||
* Licensed under the MIT License:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
$.fn.jclock = function(options) {
|
||||
var version = '2.3.2';
|
||||
|
||||
// options
|
||||
var opts = $.extend({}, $.fn.jclock.defaults, options);
|
||||
|
||||
return this.each(function() {
|
||||
$this = $(this);
|
||||
$this.timerID = null;
|
||||
$this.running = false;
|
||||
|
||||
// Record keeping for seeded clock
|
||||
$this.increment = 0;
|
||||
$this.lastCalled = new Date().getTime();
|
||||
|
||||
var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
|
||||
|
||||
$this.format = o.format;
|
||||
$this.utc = o.utc;
|
||||
// deprecate utc_offset (v 2.2.0)
|
||||
$this.utcOffset = (o.utc_offset != null) ? o.utc_offset : o.utcOffset;
|
||||
$this.seedTime = o.seedTime;
|
||||
$this.timeout = o.timeout;
|
||||
|
||||
$this.css({
|
||||
fontFamily: o.fontFamily,
|
||||
fontSize: o.fontSize,
|
||||
backgroundColor: o.background,
|
||||
color: o.foreground
|
||||
});
|
||||
|
||||
// %a
|
||||
$this.daysAbbrvNames = new Array(7);
|
||||
$this.daysAbbrvNames[0] = "Sun";
|
||||
$this.daysAbbrvNames[1] = "Mon";
|
||||
$this.daysAbbrvNames[2] = "Tue";
|
||||
$this.daysAbbrvNames[3] = "Wed";
|
||||
$this.daysAbbrvNames[4] = "Thu";
|
||||
$this.daysAbbrvNames[5] = "Fri";
|
||||
$this.daysAbbrvNames[6] = "Sat";
|
||||
|
||||
// %A
|
||||
$this.daysFullNames = new Array(7);
|
||||
$this.daysFullNames[0] = "Sunday";
|
||||
$this.daysFullNames[1] = "Monday";
|
||||
$this.daysFullNames[2] = "Tuesday";
|
||||
$this.daysFullNames[3] = "Wednesday";
|
||||
$this.daysFullNames[4] = "Thursday";
|
||||
$this.daysFullNames[5] = "Friday";
|
||||
$this.daysFullNames[6] = "Saturday";
|
||||
|
||||
// %b
|
||||
$this.monthsAbbrvNames = new Array(12);
|
||||
$this.monthsAbbrvNames[0] = "Jan";
|
||||
$this.monthsAbbrvNames[1] = "Feb";
|
||||
$this.monthsAbbrvNames[2] = "Mar";
|
||||
$this.monthsAbbrvNames[3] = "Apr";
|
||||
$this.monthsAbbrvNames[4] = "May";
|
||||
$this.monthsAbbrvNames[5] = "Jun";
|
||||
$this.monthsAbbrvNames[6] = "Jul";
|
||||
$this.monthsAbbrvNames[7] = "Aug";
|
||||
$this.monthsAbbrvNames[8] = "Sep";
|
||||
$this.monthsAbbrvNames[9] = "Oct";
|
||||
$this.monthsAbbrvNames[10] = "Nov";
|
||||
$this.monthsAbbrvNames[11] = "Dec";
|
||||
|
||||
// %B
|
||||
$this.monthsFullNames = new Array(12);
|
||||
$this.monthsFullNames[0] = "January";
|
||||
$this.monthsFullNames[1] = "February";
|
||||
$this.monthsFullNames[2] = "March";
|
||||
$this.monthsFullNames[3] = "April";
|
||||
$this.monthsFullNames[4] = "May";
|
||||
$this.monthsFullNames[5] = "June";
|
||||
$this.monthsFullNames[6] = "July";
|
||||
$this.monthsFullNames[7] = "August";
|
||||
$this.monthsFullNames[8] = "September";
|
||||
$this.monthsFullNames[9] = "October";
|
||||
$this.monthsFullNames[10] = "November";
|
||||
$this.monthsFullNames[11] = "December";
|
||||
|
||||
$.fn.jclock.startClock($this);
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.jclock.startClock = function(el) {
|
||||
$.fn.jclock.stopClock(el);
|
||||
$.fn.jclock.displayTime(el);
|
||||
}
|
||||
|
||||
$.fn.jclock.stopClock = function(el) {
|
||||
if(el.running) {
|
||||
clearTimeout(el.timerID);
|
||||
}
|
||||
el.running = false;
|
||||
}
|
||||
|
||||
$.fn.jclock.displayTime = function(el) {
|
||||
var time = $.fn.jclock.currentTime(el);
|
||||
var formatted_time = $.fn.jclock.formatTime(time, el);
|
||||
el.attr('currentTime', time.getTime())
|
||||
el.val(formatted_time);
|
||||
el.timerID = setTimeout(function(){$.fn.jclock.displayTime(el)},el.timeout);
|
||||
}
|
||||
|
||||
$.fn.jclock.currentTime = function(el) {
|
||||
if(typeof(el.seedTime) == 'undefined') {
|
||||
// Seed time not being used, use current time
|
||||
var now = new Date();
|
||||
} else {
|
||||
// Otherwise, use seed time with increment
|
||||
el.increment += new Date().getTime() - el.lastCalled;
|
||||
var now = new Date(el.seedTime + el.increment);
|
||||
el.lastCalled = new Date().getTime();
|
||||
}
|
||||
|
||||
if(el.utc == true) {
|
||||
var localTime = now.getTime();
|
||||
var localOffset = now.getTimezoneOffset() * 60000;
|
||||
var utc = localTime + localOffset;
|
||||
var utcTime = utc + (3600000 * el.utcOffset);
|
||||
var now = new Date(utcTime);
|
||||
}
|
||||
|
||||
return now
|
||||
}
|
||||
|
||||
$.fn.jclock.formatTime = function(time, el) {
|
||||
|
||||
var timeNow = "";
|
||||
var i = 0;
|
||||
var index = 0;
|
||||
while ((index = el.format.indexOf("%", i)) != -1) {
|
||||
timeNow += el.format.substring(i, index);
|
||||
index++;
|
||||
|
||||
// modifier flag
|
||||
//switch (el.format.charAt(index++)) {
|
||||
//}
|
||||
|
||||
var property = $.fn.jclock.getProperty(time, el, el.format.charAt(index));
|
||||
index++;
|
||||
|
||||
//switch (switchCase) {
|
||||
//}
|
||||
|
||||
timeNow += property;
|
||||
i = index
|
||||
}
|
||||
|
||||
timeNow += el.format.substring(i);
|
||||
return timeNow;
|
||||
};
|
||||
|
||||
$.fn.jclock.getProperty = function(dateObject, el, property) {
|
||||
|
||||
switch (property) {
|
||||
case "a": // abbrv day names
|
||||
return (el.daysAbbrvNames[dateObject.getDay()]);
|
||||
case "A": // full day names
|
||||
return (el.daysFullNames[dateObject.getDay()]);
|
||||
case "b": // abbrv month names
|
||||
return (el.monthsAbbrvNames[dateObject.getMonth()]);
|
||||
case "B": // full month names
|
||||
return (el.monthsFullNames[dateObject.getMonth()]);
|
||||
case "d": // day 01-31
|
||||
return ((dateObject.getDate() < 10) ? "0" : "") + dateObject.getDate();
|
||||
case "H": // hour as a decimal number using a 24-hour clock (range 00 to 23)
|
||||
return ((dateObject.getHours() < 10) ? "0" : "") + dateObject.getHours();
|
||||
case "I": // hour as a decimal number using a 12-hour clock (range 01 to 12)
|
||||
var hours = (dateObject.getHours() % 12 || 12);
|
||||
return ((hours < 10) ? "0" : "") + hours;
|
||||
case "l": // hour as a decimal number using a 12-hour clock (range 1 to 12)
|
||||
var hours = (dateObject.getHours() % 12 || 12);
|
||||
//return ((hours < 10) ? "0" : "") + hours;
|
||||
return hours;
|
||||
case "m": // month number
|
||||
return (((dateObject.getMonth() + 1) < 10) ? "0" : "") + (dateObject.getMonth() + 1);
|
||||
case "M": // minute as a decimal number
|
||||
return ((dateObject.getMinutes() < 10) ? "0" : "") + dateObject.getMinutes();
|
||||
case "p": // either `am' or `pm' according to the given time value,
|
||||
// or the corresponding strings for the current locale
|
||||
return (dateObject.getHours() < 12 ? "am" : "pm");
|
||||
case "P": // either `AM' or `PM' according to the given time value,
|
||||
return (dateObject.getHours() < 12 ? "AM" : "PM");
|
||||
case "S": // second as a decimal number
|
||||
return ((dateObject.getSeconds() < 10) ? "0" : "") + dateObject.getSeconds();
|
||||
case "y": // two-digit year
|
||||
return dateObject.getFullYear().toString().substring(2);
|
||||
case "Y": // full year
|
||||
return (dateObject.getFullYear());
|
||||
case "%":
|
||||
return "%";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// plugin defaults (24-hour)
|
||||
$.fn.jclock.defaults = {
|
||||
format: '%H:%M:%S',
|
||||
utcOffset: 0,
|
||||
utc: false,
|
||||
fontFamily: '',
|
||||
fontSize: '',
|
||||
foreground: '',
|
||||
background: '',
|
||||
seedTime: undefined,
|
||||
timeout: 1000 // 1000 = one second, 60000 = one minute
|
||||
};
|
||||
|
||||
})(jQuery);
|
|
@ -743,6 +743,16 @@ $('#start_time').change(function() {
|
|||
$('#start_time').val(raw_time);
|
||||
}
|
||||
});
|
||||
$('#end_time').change(function() {
|
||||
var raw_time = $(this).val();
|
||||
if(raw_time.match(/^\d\[0-6]d$/)) {
|
||||
raw_time = "0"+raw_time;
|
||||
}
|
||||
if(raw_time.match(/^[012]\d[0-5]\d$/)) {
|
||||
raw_time = raw_time.substring(0,2)+":"+raw_time.substring(2,4);
|
||||
$('#end_time').val(raw_time);
|
||||
}
|
||||
});
|
||||
|
||||
/* date input shortcut */
|
||||
$('#start_date').change(function() {
|
||||
|
|
Ładowanie…
Reference in New Issue