diff --git a/application/config/cloudlog.php b/application/config/cloudlog.php index a71ec45e..1070e5b5 100644 --- a/application/config/cloudlog.php +++ b/application/config/cloudlog.php @@ -55,11 +55,10 @@ $config['map_gridsquares'] = FALSE; | The external CAT applications can obviously stop working for various reasons | this interval is used for displaying a warning on the QSO Panel | -| Default is: 300 seconds (5 minutes) +| Default is: 1800 seconds (30 minutes) | */ - -$config['cat_timeout_interval'] = 300; +$config['cat_timeout_interval'] = 1800; /* |-------------------------------------------------------------------------- diff --git a/application/controllers/Radio.php b/application/controllers/Radio.php index 761732b1..bffe0319 100755 --- a/application/controllers/Radio.php +++ b/application/controllers/Radio.php @@ -60,7 +60,7 @@ } } - + function json($id) { @@ -75,6 +75,7 @@ foreach ($query->result() as $row) { + if($row->sat_name != "") { $uplink_freq = $row->uplink_freq; $downlink_freq = $row->downlink_freq; @@ -118,13 +119,20 @@ $sat_mode = ""; } + // Calculate how old the data is in minutes + $datetime1 = new DateTime(); // Today's Date/Time + $datetime2 = new DateTime($row->newtime); + $interval = $datetime1->diff($datetime2); + $updated_at = $interval->format('%i'); + // Return Json data echo json_encode(array( "uplink_freq" => $uplink_freq, "downlink_freq" => $downlink_freq, "mode" => $mode, "satmode" => $sat_mode, "satname" => $sat_name, + "updated_minutes_ago" => $updated_at, ), JSON_PRETTY_PRINT); } } @@ -175,4 +183,5 @@ } } + ?> diff --git a/application/models/Cat.php b/application/models/Cat.php index b17e4735..bfd91564 100644 --- a/application/models/Cat.php +++ b/application/models/Cat.php @@ -92,11 +92,9 @@ function radio_status($id) { - $this->db->select('*'); - $this->db->where('id', $id); - $query = $this->db->get('cat'); - - return $query; + + return $this->db->query('SELECT *, CONVERT_TZ(`timestamp`, @@session.time_zone, \'+00:00\' ) as newtime FROM `cat` WHERE 1'); + } diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index 692c5146..da7c7018 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -879,6 +879,20 @@ $(document).on('keypress',function(e) { } $("#sat_name").val(data.satname); $("#sat_mode").val(data.satmode); + + // Display CAT Timeout warnng based on the figure given in the config file + var minutes = Math.floor(config->item('cat_timeout_interval'); ?> / 60); + + if(data.updated_minutes_ago > minutes) { + if($('.radio_timeout_error').length == 0) { + $('.qso_panel').prepend(''); + } else { + $('.radio_timeout_error').text('Radio Connection Error: ' + $('select.radios option:selected').text() + ' data is ' + data.updated_minutes_ago + ' minutes old.'); + } + } else { + $(".radio_timeout_error" ).remove(); + } + }); } }; @@ -898,6 +912,11 @@ $(document).on('keypress',function(e) { $("#frequency_rx").val(""); $("#selectPropagation").val($("#selectPropagation option:first").val()); } + + if ($(".radios option:selected").text() == "None") { + $(".radio_timeout_error" ).remove(); + } + });