From a60885f2eda5765083751f5e1cc72deaf9c0c52b Mon Sep 17 00:00:00 2001 From: kb-light <14014119+kb-light@users.noreply.github.com> Date: Sat, 27 Aug 2022 13:21:56 +0000 Subject: [PATCH] Unify radio API Radio API should not depend on the name Remove further occurrence of SatPC32 and CloudlogCatQt --- application/models/Cat.php | 175 ++++++------------ application/views/dashboard/index.php | 2 +- application/views/interface_assets/footer.php | 8 +- 3 files changed, 59 insertions(+), 126 deletions(-) diff --git a/application/models/Cat.php b/application/models/Cat.php index 815f7a1c..77b0692d 100644 --- a/application/models/Cat.php +++ b/application/models/Cat.php @@ -10,132 +10,42 @@ $timestamp = gmdate("Y-m-d H:i:s"); } + if (isset($result['prop_mode'])) { + $prop_mode = $result['prop_mode']; + } else { + // For backward compatibility, SatPC32 does not set propergation mode + if (isset($result['sat_name'])) { + $prop_mode = "SAT"; + } else { + $prop_mode = NULL; + } + } + $this->db->where('radio', $result['radio']); $this->db->where('user_id', $user_id); $query = $this->db->get('cat'); if ($query->num_rows() > 0) { - if($result['radio'] == "SatPC32") { - // Update the record - foreach ($query->result() as $row) - { - $radio_id = $row->id; + // Update the record + foreach ($query->result() as $row) + { + $radio_id = $row->id; + if ($prop_mode == "SAT") { $data = array( + 'prop_mode' => $prop_mode, 'sat_name' => $result['sat_name'], 'downlink_freq' => $result['downlink_freq'], 'uplink_freq' => $result['uplink_freq'], 'downlink_mode' => $result['downlink_mode'], 'uplink_mode' => $result['uplink_mode'], - 'prop_mode' => 'SAT', 'timestamp' => $timestamp, - ); - - $this->db->where('id', $radio_id); - $this->db->where('user_id', $user_id); - $this->db->update('cat', $data); - } - } else if($result['radio'] == "CloudLogCATQt") { - // Update the record - foreach ($query->result() as $row) - { - $radio_id = $row->id; - - if ($result['prop_mode'] == "SAT") { - $data = array( - 'sat_name' => $result['sat_name'], - 'prop_mode' => $result['prop_mode'], - 'mode' => NULL, - 'frequency' => NULL, - 'downlink_freq' => $result['downlink_freq'], - 'uplink_freq' => $result['uplink_freq'], - 'downlink_mode' => $result['downlink_mode'], - 'uplink_mode' => $result['uplink_mode'], - 'timestamp' => $timestamp, - ); - if (isset($result['power'])) { - $data['power'] = $result['power']; - } - } else { - $data = array( - 'prop_mode' => $result['prop_mode'], - 'mode' => $result['mode'], - 'frequency' => $result['frequency'], - 'downlink_freq' => NULL, - 'downlink_mode' => NULL, - 'uplink_freq' => NULL, - 'uplink_mode' => NULL, - 'timestamp' => $timestamp, - ); - if (isset($result['power'])) { - $data['power'] = $result['power']; - } - } - - $this->db->where('id', $radio_id); - $this->db->where('user_id', $user_id); - $this->db->update('cat', $data); - } - } else { - // Update the record - foreach ($query->result() as $row) - { - $radio_id = $row->id; - - $data = array( - 'frequency' => $result['frequency'], - 'mode' => $result['mode'], - 'timestamp' => $timestamp, - ); - - if (isset($result['power'])) { - $data['power'] = $result['power']; - } - - $this->db->where('id', $radio_id); - $this->db->where('user_id', $user_id); - $this->db->update('cat', $data); - } - } - } else { - // Add a new record - - if($result['radio'] == "SatPC32") { - $data = array( - 'radio' => $result['radio'], - 'frequency' => $result['frequency'], - 'mode' => $result['mode'], - 'sat_name' => $result['sat_name'], - 'downlink_freq' => $result['downlink_freq'], - 'uplink_freq' => $result['uplink_freq'], - 'downlink_mode' => $result['downlink_mode'], - 'uplink_mode' => $result['uplink_mode'], - 'prop_mode' => 'SAT', - 'user_id' => $user_id, - 'timestamp' => $timestamp, - ); - } else if($result['radio'] == "CloudLogCATQt") { - if ($result['prop_mode'] == "SAT") { - $data = array( - 'radio' => $result['radio'], - 'sat_name' => $result['sat_name'], - 'prop_mode' => $result['prop_mode'], 'mode' => NULL, 'frequency' => NULL, - 'downlink_freq' => $result['downlink_freq'], - 'uplink_freq' => $result['uplink_freq'], - 'downlink_mode' => $result['downlink_mode'], - 'uplink_mode' => $result['uplink_mode'], - 'user_id' => $user_id, - 'timestamp' => $timestamp, ); - if (isset($result['power'])) { - $data['power'] = $result['power']; - } } else { $data = array( - 'radio' => $result['radio'], 'prop_mode' => $result['prop_mode'], 'mode' => $result['mode'], 'frequency' => $result['frequency'], @@ -143,25 +53,52 @@ 'downlink_mode' => NULL, 'uplink_freq' => NULL, 'uplink_mode' => NULL, - 'user_id' => $user_id, 'timestamp' => $timestamp, ); - if (isset($result['power'])) { - $data['power'] = $result['power']; - } } - } else { - $data = array( - 'radio' => $result['radio'], - 'frequency' => $result['frequency'], - 'mode' => $result['mode'], - 'timestamp' => $timestamp, - 'user_id' => $user_id, - ); if (isset($result['power'])) { $data['power'] = $result['power']; } + + $this->db->where('id', $radio_id); + $this->db->where('user_id', $user_id); + $this->db->update('cat', $data); + } + } else { + // Add a new record + + if ($prop_mode == "SAT") { + $data = array( + 'radio' => $result['radio'], + 'frequency' => NULL, + 'mode' => NULL, + 'sat_name' => $result['sat_name'], + 'downlink_freq' => $result['downlink_freq'], + 'uplink_freq' => $result['uplink_freq'], + 'downlink_mode' => $result['downlink_mode'], + 'uplink_mode' => $result['uplink_mode'], + 'prop_mode' => $prop_mode, + 'user_id' => $user_id, + 'timestamp' => $timestamp, + ); + } else { + $data = array( + 'radio' => $result['radio'], + 'prop_mode' => $prop_mode, + 'mode' => $result['mode'], + 'frequency' => $result['frequency'], + 'downlink_freq' => NULL, + 'downlink_mode' => NULL, + 'uplink_freq' => NULL, + 'uplink_mode' => NULL, + 'user_id' => $user_id, + 'timestamp' => $timestamp, + ); + } + + if (isset($result['power'])) { + $data['power'] = $result['power']; } $this->db->insert('cat', $data); diff --git a/application/views/dashboard/index.php b/application/views/dashboard/index.php index 205bf042..28b0a24e 100644 --- a/application/views/dashboard/index.php +++ b/application/views/dashboard/index.php @@ -143,7 +143,7 @@ function echoQrbCalcLink($mygrid, $grid, $vucc) { - + frequency->hz_to_mhz($row['frequency']); ?> () diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index 2eff6f66..35ecf420 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -1209,21 +1209,17 @@ $(document).on('keypress',function(e) { // If a radios selected from drop down select radio update. $('.radios').change(updateFromCAT); - // If radio isn't SatPC32 or CloudLogCATQt clear sat_name and sat_mode + // If no radio is selected clear data $( ".radios" ).change(function() { - if ($(".radios option:selected").text() != "SatPC32" && $(".radios option:selected").text() != "CloudLogCATQt") { + if ($(".radios option:selected").val() == 0) { $("#sat_name").val(""); $("#sat_mode").val(""); $("#frequency").val(""); $("#frequency_rx").val(""); $("#band_rx").val(""); $("#selectPropagation").val($("#selectPropagation option:first").val()); - } - - if ($(".radios option:selected").text() == "None") { $(".radio_timeout_error" ).remove(); } - });