[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
 | ||||
|         $data['page_title'] = "Distances Worked"; | ||||
| 
 | ||||
|         function js_str($s) | ||||
|         { | ||||
|             return '"' . addcslashes($s, "\0..\37\"\\") . '"'; | ||||
|         } | ||||
| 
 | ||||
|         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->model('Distances_model'); | ||||
|         $data['bands_available'] = $this->Distances_model->get_worked_bands(); | ||||
|         $data['sats_available'] = $this->Distances_model->get_worked_sats(); | ||||
| 
 | ||||
|         $this->load->view('interface_assets/header', $data); | ||||
|         $this->load->view('distances/index'); | ||||
|  | @ -53,5 +44,4 @@ class Distances extends CI_Controller { | |||
| 
 | ||||
|         return json_encode($data); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -9,6 +9,69 @@ class Distances_model extends CI_Model | |||
|         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) | ||||
|     { | ||||
|         $CI =& get_instance(); | ||||
|  | @ -23,6 +86,9 @@ class Distances_model extends CI_Model | |||
| 
 | ||||
|         if ($postdata['band'] == 'sat') { | ||||
|             $this->db->where('col_prop_mode', $postdata['band']); | ||||
|             if ($postdata['sat'] != 'All') { | ||||
|                 $this->db->where('col_sat_name', $postdata['sat']); | ||||
|             } | ||||
|         } | ||||
|         else { | ||||
|             $this->db->where('col_band', $postdata['band']); | ||||
|  |  | |||
|  | @ -6,9 +6,19 @@ | |||
| 
 | ||||
|     <div id="distances_div"> | ||||
|         <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"> | ||||
|                 <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> | ||||
|             <button id="plot" type="button" name="plot" class="btn btn-primary" onclick="distPlot(this.form)">Plot</button> | ||||
|         </form> | ||||
|  |  | |||
|  | @ -1379,19 +1379,12 @@ $(document).ready(function(){ | |||
|     <script src="<?php echo base_url(); ?>assets/js/highstock/export-data.js"></script> | ||||
| <script> | ||||
| 
 | ||||
|   var bands_available = <?php echo $bands_available; ?>;
 | ||||
| 
 | ||||
|   $.each(bands_available, function(key, value) { | ||||
|      $('#distplot_bands') | ||||
|          .append($("<option></option>") | ||||
|                     .attr("value",value) | ||||
|                     .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"); | ||||
|     $('#distplot_bands').change(function(){ | ||||
|         var band = $("#distplot_bands option:selected").text(); | ||||
|         if (band != "SAT") { | ||||
|             $("#distplot_sats").prop('disabled', true); | ||||
|         } else { | ||||
|             $("#distplot_sats").prop('disabled', false); | ||||
|         } | ||||
|     }); | ||||
| 
 | ||||
|  | @ -1401,7 +1394,8 @@ $(document).ready(function(){ | |||
|       $.ajax({ | ||||
|           url: baseURL+'index.php/distances/get_distances', | ||||
|           type: 'post', | ||||
|           data: {'band': form.distplot_bands.value}, | ||||
|           data: {'band': form.distplot_bands.value, | ||||
|                 'sat': form.distplot_sats.value}, | ||||
|           success: function(tmp) { | ||||
|               if (tmp.ok == 'OK') { | ||||
|                   if (!($('#information').length > 0)) | ||||
|  |  | |||
		正在加载…
	
		在新工单中引用