[Distances Worked] You can now choose satellite. Also cleaned up some code.
这个提交包含在:
父节点
59616f1f5c
当前提交
28d30de120
共有 4 个文件被更改,包括 88 次插入 和 28 次删除
|
|
@ -16,18 +16,9 @@ class Distances extends CI_Controller {
|
||||||
// Render Page
|
// Render Page
|
||||||
$data['page_title'] = "Distances Worked";
|
$data['page_title'] = "Distances Worked";
|
||||||
|
|
||||||
function js_str($s)
|
$this->load->model('Distances_model');
|
||||||
{
|
$data['bands_available'] = $this->Distances_model->get_worked_bands();
|
||||||
return '"' . addcslashes($s, "\0..\37\"\\") . '"';
|
$data['sats_available'] = $this->Distances_model->get_worked_sats();
|
||||||
}
|
|
||||||
|
|
||||||
function js_array($array)
|
|
||||||
{
|
|
||||||
$temp = array_map('js_str', $array);
|
|
||||||
return '[' . implode(',', $temp) . ']';
|
|
||||||
}
|
|
||||||
|
|
||||||
$data['bands_available'] = js_array($this->config->item('bands_available'));
|
|
||||||
|
|
||||||
$this->load->view('interface_assets/header', $data);
|
$this->load->view('interface_assets/header', $data);
|
||||||
$this->load->view('distances/index');
|
$this->load->view('distances/index');
|
||||||
|
|
@ -53,5 +44,4 @@ class Distances extends CI_Controller {
|
||||||
|
|
||||||
return json_encode($data);
|
return json_encode($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -9,6 +9,69 @@ class Distances_model extends CI_Model
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public $bandslots = array("160m"=>0,
|
||||||
|
"80m"=>0,
|
||||||
|
"60m"=>0,
|
||||||
|
"40m"=>0,
|
||||||
|
"30m"=>0,
|
||||||
|
"20m"=>0,
|
||||||
|
"17m"=>0,
|
||||||
|
"15m"=>0,
|
||||||
|
"12m"=>0,
|
||||||
|
"10m"=>0,
|
||||||
|
"6m" =>0,
|
||||||
|
"4m" =>0,
|
||||||
|
"2m" =>0,
|
||||||
|
"70cm"=>0,
|
||||||
|
"23cm"=>0,
|
||||||
|
"13cm"=>0,
|
||||||
|
"9cm"=>0,
|
||||||
|
"6cm"=>0,
|
||||||
|
"3cm"=>0,
|
||||||
|
"1.25cm"=>0);
|
||||||
|
|
||||||
|
function get_worked_sats() {
|
||||||
|
$CI =& get_instance();
|
||||||
|
$CI->load->model('Stations');
|
||||||
|
$station_id = $CI->Stations->find_active();
|
||||||
|
|
||||||
|
// get all worked sats from database
|
||||||
|
$sql = "SELECT distinct col_sat_name FROM ".$this->config->item('table_name')." WHERE station_id = ".$station_id . " and coalesce(col_sat_name, '') <> ''";
|
||||||
|
|
||||||
|
$data = $this->db->query($sql);
|
||||||
|
|
||||||
|
$worked_sats = array();
|
||||||
|
foreach($data->result() as $row){
|
||||||
|
array_push($worked_sats, $row->col_sat_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worked_sats;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_worked_bands() {
|
||||||
|
$CI =& get_instance();
|
||||||
|
$CI->load->model('Stations');
|
||||||
|
$station_id = $CI->Stations->find_active();
|
||||||
|
|
||||||
|
// get all worked slots from database
|
||||||
|
$sql = "SELECT distinct LOWER(COL_BAND) as COL_BAND FROM ".$this->config->item('table_name')." WHERE station_id = ".$station_id;
|
||||||
|
|
||||||
|
$data = $this->db->query($sql);
|
||||||
|
$worked_slots = array();
|
||||||
|
foreach($data->result() as $row){
|
||||||
|
array_push($worked_slots, $row->COL_BAND);
|
||||||
|
}
|
||||||
|
|
||||||
|
// bring worked-slots in order of defined $bandslots
|
||||||
|
$results = array();
|
||||||
|
foreach(array_keys($this->bandslots) as $slot) {
|
||||||
|
if(in_array($slot, $worked_slots)) {
|
||||||
|
array_push($results, $slot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
function get_distances($postdata, $measurement_base)
|
function get_distances($postdata, $measurement_base)
|
||||||
{
|
{
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
|
|
@ -23,6 +86,9 @@ class Distances_model extends CI_Model
|
||||||
|
|
||||||
if ($postdata['band'] == 'sat') {
|
if ($postdata['band'] == 'sat') {
|
||||||
$this->db->where('col_prop_mode', $postdata['band']);
|
$this->db->where('col_prop_mode', $postdata['band']);
|
||||||
|
if ($postdata['sat'] != 'All') {
|
||||||
|
$this->db->where('col_sat_name', $postdata['sat']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$this->db->where('col_band', $postdata['band']);
|
$this->db->where('col_band', $postdata['band']);
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,19 @@
|
||||||
|
|
||||||
<div id="distances_div">
|
<div id="distances_div">
|
||||||
<form class="form-inline">
|
<form class="form-inline">
|
||||||
<label class="my-1 mr-2" for="gridsquare_bands">Band Selection</label>
|
<label class="my-1 mr-2" for="distplot_bands">Band Selection</label>
|
||||||
<select class="custom-select my-1 mr-sm-2" id="distplot_bands">
|
<select class="custom-select my-1 mr-sm-2" id="distplot_bands">
|
||||||
<option value="sat">SAT</option>
|
<option value="sat">SAT</option>
|
||||||
|
<?php foreach($bands_available as $band) {
|
||||||
|
echo '<option value="' . $band . '"' . '>' . $band . '</option>'."\n";
|
||||||
|
} ?>
|
||||||
|
</select>
|
||||||
|
<label class="my-1 mr-2" for="distplot_sats">Satellite</label>
|
||||||
|
<select class="custom-select my-1 mr-sm-2" id="distplot_sats">
|
||||||
|
<option value="All">All</option>
|
||||||
|
<?php foreach($sats_available as $sat) {
|
||||||
|
echo '<option value="' . $sat . '"' . '>' . $sat . '</option>'."\n";
|
||||||
|
} ?>
|
||||||
</select>
|
</select>
|
||||||
<button id="plot" type="button" name="plot" class="btn btn-primary" onclick="distPlot(this.form)">Plot</button>
|
<button id="plot" type="button" name="plot" class="btn btn-primary" onclick="distPlot(this.form)">Plot</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1379,19 +1379,12 @@ $(document).ready(function(){
|
||||||
<script src="<?php echo base_url(); ?>assets/js/highstock/export-data.js"></script>
|
<script src="<?php echo base_url(); ?>assets/js/highstock/export-data.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
var bands_available = <?php echo $bands_available; ?>;
|
$('#distplot_bands').change(function(){
|
||||||
|
var band = $("#distplot_bands option:selected").text();
|
||||||
$.each(bands_available, function(key, value) {
|
if (band != "SAT") {
|
||||||
$('#distplot_bands')
|
$("#distplot_sats").prop('disabled', true);
|
||||||
.append($("<option></option>")
|
} else {
|
||||||
.attr("value",value)
|
$("#distplot_sats").prop('disabled', false);
|
||||||
.text(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
var num = "<?php echo $this->uri->segment(3);?>";
|
|
||||||
$("#distplot_bands option").each(function(){
|
|
||||||
if($(this).val()==num){ // EDITED THIS LINE
|
|
||||||
$(this).attr("selected","selected");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1401,7 +1394,8 @@ $(document).ready(function(){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: baseURL+'index.php/distances/get_distances',
|
url: baseURL+'index.php/distances/get_distances',
|
||||||
type: 'post',
|
type: 'post',
|
||||||
data: {'band': form.distplot_bands.value},
|
data: {'band': form.distplot_bands.value,
|
||||||
|
'sat': form.distplot_sats.value},
|
||||||
success: function(tmp) {
|
success: function(tmp) {
|
||||||
if (tmp.ok == 'OK') {
|
if (tmp.ok == 'OK') {
|
||||||
if (!($('#information').length > 0))
|
if (!($('#information').length > 0))
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用