diff --git a/application/controllers/Distances.php b/application/controllers/Distances.php index 1854fb5b8..e04bef0b9 100644 --- a/application/controllers/Distances.php +++ b/application/controllers/Distances.php @@ -19,6 +19,8 @@ class Distances extends CI_Controller { $this->load->model('bands'); $data['bands_available'] = $this->bands->get_worked_bands_distances(); $data['sats_available'] = $this->bands->get_worked_sats(); + $data['orbits'] = $this->bands->get_worked_orbits(); + $data['user_default_band'] = $this->session->userdata('user_default_band'); $this->load->view('interface_assets/header', $data); $this->load->view('distances/index'); diff --git a/application/models/Distances_model.php b/application/models/Distances_model.php index 0e66b17cc..8d4e77850 100644 --- a/application/models/Distances_model.php +++ b/application/models/Distances_model.php @@ -25,6 +25,7 @@ class Distances_model extends CI_Model $gridsquare = explode(',', $station_gridsquare); // We need to convert to an array, since a user can enter several gridsquares $this->db->select('COL_PRIMARY_KEY,COL_DISTANCE,col_call callsign, col_gridsquare grid'); + $this->db->join('satellite', 'satellite.name = '.$this->config->item('table_name').'.COL_SAT_NAME', 'left outer'); $this->db->where('LENGTH(col_gridsquare) >', 0); if ($postdata['band'] == 'sat') { @@ -37,6 +38,10 @@ class Distances_model extends CI_Model $this->db->where('col_band', $postdata['band']); } + if ($postdata['orbit'] != 'All') { + $this->db->where('satellite.orbit', $postdata['orbit']); + } + $this->db->where('station_id', $station_id); $queryresult = $this->db->get($this->config->item('table_name')); diff --git a/application/views/distances/index.php b/application/views/distances/index.php index b918252a5..2ce536e5d 100644 --- a/application/views/distances/index.php +++ b/application/views/distances/index.php @@ -22,12 +22,16 @@ ' . $band . ''."\n"; + echo ''."\n"; } ?> - - style="display: none;"> ' . $sat . ''."\n"; @@ -36,8 +40,17 @@ - + + + - \ No newline at end of file + diff --git a/assets/js/sections/distances.js b/assets/js/sections/distances.js index 56cf1e031..f85549b54 100644 --- a/assets/js/sections/distances.js +++ b/assets/js/sections/distances.js @@ -1,20 +1,33 @@ $('#distplot_bands').change(function(){ var band = $("#distplot_bands option:selected").text(); if (band != "SAT") { - $("#distplot_sats").prop('disabled', true); + $("#distplot_sats").hide(); + $("#orbits").hide(); + $("#satslabel").hide(); + $("#orbitslabel").hide(); + $("#distplot_sats").val('All'); + $("#orbits").val('All'); } else { - $("#distplot_sats").prop('disabled', false); + $("#distplot_sats").show(); + $("#orbits").show(); + $("#orbitslabel").show(); + $("#satslabel").show(); } }); function distPlot(form) { + $(".ld-ext-right-plot").addClass('running'); + $(".ld-ext-right-plot").prop('disabled', true); + $('#plot').prop("disabled", true); $(".alert").remove(); var baseURL= ""; $.ajax({ url: base_url+'index.php/distances/get_distances', type: 'post', data: {'band': form.distplot_bands.value, - 'sat': form.distplot_sats.value}, + 'sat': form.distplot_sats.value, + 'orbit': form.orbits.value + }, success: function(tmp) { if (tmp.ok == 'OK') { if (!($('#information').length > 0)) @@ -128,12 +141,14 @@ function distPlot(form) { } $("#distances_div").append(''); } + $(".ld-ext-right-plot").removeClass('running'); + $(".ld-ext-right-plot").prop('disabled', false); + $('#plot').prop("disabled", false); } }); } function getDistanceQsos(distance) { - // alert('Category: ' + distance); $.ajax({ url: base_url + 'index.php/distances/getDistanceQsos', type: 'post', @@ -141,6 +156,7 @@ function getDistanceQsos(distance) { 'distance': distance, 'band': $("#distplot_bands").val(), 'sat' : $("#distplot_sats").val(), + 'orbit': $("#orbits").val(), }, success: function (html) { BootstrapDialog.show({ @@ -150,8 +166,8 @@ function getDistanceQsos(distance) { nl2br: false, message: html, onshown: function(dialog) { - $('[data-bs-toggle="tooltip"]').tooltip(); - $('.contacttable').DataTable({ + $('[data-bs-toggle="tooltip"]').tooltip(); + $('.contacttable').DataTable({ "pageLength": 25, responsive: false, ordering: false,