[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)) | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用