| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	class Radio extends CI_Controller { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function index() | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 		// Check Auth
 | 
					
						
							|  |  |  | 		$this->load->model('user_model'); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-15 06:53:35 +08:00
										 |  |  | 		// Check if users logged in
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if($this->user_model->validate_session() == 0) { | 
					
						
							|  |  |  | 			// user is not logged in
 | 
					
						
							|  |  |  | 			redirect('user/login'); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 		// load the view
 | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 		$data['page_title'] = "Hardware Interfaces"; | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-13 23:59:16 +08:00
										 |  |  | 		$this->load->view('interface_assets/header', $data); | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 		$this->load->view('radio/index'); | 
					
						
							| 
									
										
										
										
											2019-01-13 23:59:16 +08:00
										 |  |  | 		$this->load->view('interface_assets/footer'); | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 	function status() { | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 		// Check Auth
 | 
					
						
							|  |  |  | 		$this->load->model('user_model'); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-15 06:53:35 +08:00
										 |  |  | 		// Check if users logged in
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if($this->user_model->validate_session() == 0) { | 
					
						
							|  |  |  | 			// user is not logged in
 | 
					
						
							|  |  |  | 			redirect('user/login'); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2022-07-24 00:27:45 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 		$this->load->model('cat'); | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 		$query = $this->cat->status(); | 
					
						
							|  |  |  | 		if ($query->num_rows() > 0) | 
					
						
							|  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 			echo "<tr class=\"titles\">"; | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 				echo "<td>Radio</td>"; | 
					
						
							|  |  |  | 				echo "<td>Frequency</td>"; | 
					
						
							|  |  |  | 				echo "<td>Mode</td>"; | 
					
						
							|  |  |  | 				echo "<td>Timestamp</td>" ; | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 				echo "<td>Options</td>"; | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 			echo "</tr>"; | 
					
						
							|  |  |  | 			foreach ($query->result() as $row) | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				echo "<tr>"; | 
					
						
							|  |  |  | 				echo "<td>".$row->radio."</td>"; | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 				if (empty($row->frequency) || $row->frequency == "0") { | 
					
						
							|  |  |  | 					echo "<td>- / -</td>"; | 
					
						
							|  |  |  | 				} elseif (empty($row->downlink_freq) || $row->downlink_freq == "0") { | 
					
						
							| 
									
										
										
										
											2022-05-05 19:17:26 +08:00
										 |  |  | 					echo "<td>".$this->frequency->hz_to_mhz($row->frequency)."</td>"; | 
					
						
							| 
									
										
										
										
											2018-12-19 02:24:01 +08:00
										 |  |  | 				} else { | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 					echo "<td>".$this->frequency->hz_to_mhz($row->downlink_freq)." / ".$this->frequency->hz_to_mhz($row->frequency)."</td>"; | 
					
						
							| 
									
										
										
										
											2018-12-19 02:24:01 +08:00
										 |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				if (empty($row->mode) || $row->mode == "non") { | 
					
						
							|  |  |  | 					echo "<td>N/A</td>"; | 
					
						
							|  |  |  | 				} elseif (empty($row->downlink_mode) || $row->downlink_mode == "non") { | 
					
						
							| 
									
										
										
										
											2018-12-19 02:24:01 +08:00
										 |  |  | 					echo "<td>".$row->mode."</td>"; | 
					
						
							| 
									
										
										
										
											2018-12-19 02:26:01 +08:00
										 |  |  | 				} else { | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 					echo "<td>".$row->downlink_mode." / ".$row->mode."</td>"; | 
					
						
							| 
									
										
										
										
											2018-12-19 02:24:01 +08:00
										 |  |  | 				} | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-19 02:24:01 +08:00
										 |  |  | 				$phpdate = strtotime($row->timestamp); | 
					
						
							|  |  |  | 				echo "<td>".date('H:i:s d-m-y', $phpdate)."</td>" ; | 
					
						
							| 
									
										
										
										
											2019-06-14 01:09:21 +08:00
										 |  |  | 				echo "<td><a href=\"".site_url('radio/delete')."/".$row->id."\" class=\"btn btn-danger\"> <i class=\"fas fa-trash-alt\"></i> Delete</a></td>" ; | 
					
						
							| 
									
										
										
										
											2012-04-08 23:47:18 +08:00
										 |  |  | 				echo "</tr>"; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			echo "<tr>"; | 
					
						
							|  |  |  | 				echo "<td colspan=\"4\">No CAT Interfaced radios found.</td>"; | 
					
						
							|  |  |  | 			echo "</tr>"; | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2020-05-13 05:51:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-26 06:40:24 +08:00
										 |  |  | 	function json($id) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 		header('Content-Type: application/json'); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 		$this->load->model('cat'); | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 		$query = $this->cat->radio_status($id); | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 		if ($query->num_rows() > 0) | 
					
						
							|  |  |  | 		{ | 
					
						
							|  |  |  | 			foreach ($query->result() as $row) | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 			{ | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				$frequency = $row->frequency; | 
					
						
							| 
									
										
										
										
											2020-05-13 05:51:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				$frequency_rx = $row->downlink_freq; | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				$power = $row->power; | 
					
						
							| 
									
										
										
										
											2022-04-06 20:50:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				$prop_mode = $row->prop_mode; | 
					
						
							| 
									
										
										
										
											2022-04-09 03:47:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				// Check Mode
 | 
					
						
							|  |  |  | 				if(strtoupper($row->mode) == "FMN"){ | 
					
						
							|  |  |  | 					$mode = "FM"; | 
					
						
							|  |  |  | 				} else { | 
					
						
							|  |  |  | 					$mode = strtoupper($row->mode); | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2016-11-17 00:59:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				if ($row->prop_mode == "SAT") { | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 					// Get Satellite Name
 | 
					
						
							| 
									
										
										
										
											2017-03-14 05:27:21 +08:00
										 |  |  | 					if($row->sat_name == "AO-07") { | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 						$sat_name = "AO-7"; | 
					
						
							| 
									
										
										
										
											2017-03-14 05:27:21 +08:00
										 |  |  | 					} elseif ($row->sat_name == "LILACSAT") { | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 						$sat_name = "CAS-3H"; | 
					
						
							| 
									
										
										
										
											2017-03-14 05:27:21 +08:00
										 |  |  | 					} else { | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 						$sat_name =  strtoupper($row->sat_name); | 
					
						
							| 
									
										
										
										
											2017-03-14 05:27:21 +08:00
										 |  |  | 					} | 
					
						
							| 
									
										
										
										
											2016-11-17 00:59:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 					// Get Satellite Mode
 | 
					
						
							| 
									
										
										
										
											2022-09-30 05:06:06 +08:00
										 |  |  | 					$uplink_mode = $this->get_mode_designator($row->frequency); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 					$downlink_mode = $this->get_mode_designator($row->downlink_freq); | 
					
						
							| 
									
										
										
										
											2016-11-17 00:59:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:15:46 +08:00
										 |  |  | 					if (empty($uplink_mode)) { | 
					
						
							|  |  |  | 						$sat_mode = ""; | 
					
						
							|  |  |  | 					} elseif ($uplink_mode !== $downlink_mode) { | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 						$sat_mode = $uplink_mode."/".$downlink_mode; | 
					
						
							| 
									
										
										
										
											2022-08-29 08:15:46 +08:00
										 |  |  | 					} else { | 
					
						
							|  |  |  | 						$sat_mode = $uplink_mode; | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 					} | 
					
						
							|  |  |  | 				} else { | 
					
						
							|  |  |  | 					$sat_name = ""; | 
					
						
							|  |  |  | 					$sat_mode = ""; | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 				} | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 				// Calculate how old the data is in minutes
 | 
					
						
							| 
									
										
										
										
											2022-07-24 00:27:45 +08:00
										 |  |  | 				$datetime1 = new DateTime("now", new DateTimeZone('UTC')); // Today's Date/Time
 | 
					
						
							|  |  |  | 				$datetime2 = new DateTime($row->timestamp, new DateTimeZone('UTC')); | 
					
						
							| 
									
										
										
										
											2020-05-13 05:51:56 +08:00
										 |  |  | 				$interval = $datetime1->diff($datetime2); | 
					
						
							| 
									
										
										
										
											2020-05-13 06:18:16 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 				$minutes = $interval->days * 24 * 60; | 
					
						
							|  |  |  | 				$minutes += $interval->h * 60; | 
					
						
							|  |  |  | 				$minutes += $interval->i; | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-13 06:18:16 +08:00
										 |  |  | 				$updated_at = $minutes; | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-13 05:51:56 +08:00
										 |  |  | 				// Return Json data
 | 
					
						
							| 
									
										
										
										
											2022-08-29 08:12:28 +08:00
										 |  |  | 				echo json_encode(array( | 
					
						
							|  |  |  | 					"frequency" => $frequency, | 
					
						
							|  |  |  | 					"frequency_rx" => $frequency_rx, | 
					
						
							|  |  |  | 					"mode" => $mode, | 
					
						
							|  |  |  | 					"satmode" => $sat_mode, | 
					
						
							|  |  |  | 					"satname" => $sat_name, | 
					
						
							|  |  |  | 					"power" => $power, | 
					
						
							|  |  |  | 					"prop_mode" => $prop_mode, | 
					
						
							|  |  |  | 					"updated_minutes_ago" => $updated_at, | 
					
						
							|  |  |  | 				), JSON_PRETTY_PRINT); | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2019-09-06 23:55:13 +08:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-26 07:08:06 +08:00
										 |  |  | 	function get_mode_designator($frequency) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		if ($frequency > 21000000 && $frequency < 22000000) | 
					
						
							|  |  |  | 			return "H"; | 
					
						
							|  |  |  | 		if ($frequency > 28000000 && $frequency < 30000000) | 
					
						
							|  |  |  | 			return "A"; | 
					
						
							|  |  |  | 		if ($frequency > 144000000 && $frequency < 147000000) | 
					
						
							|  |  |  | 			return "V"; | 
					
						
							|  |  |  | 		if ($frequency > 432000000 && $frequency < 438000000) | 
					
						
							|  |  |  | 			return "U"; | 
					
						
							|  |  |  | 		if ($frequency > 1240000000 && $frequency < 1300000000) | 
					
						
							|  |  |  | 			return "L"; | 
					
						
							|  |  |  | 		if ($frequency > 2320000000 && $frequency < 2450000000) | 
					
						
							|  |  |  | 			return "S"; | 
					
						
							|  |  |  | 		if ($frequency > 3400000000 && $frequency < 3475000000) | 
					
						
							|  |  |  | 			return "S2"; | 
					
						
							|  |  |  | 		if ($frequency > 5650000000 && $frequency < 5850000000) | 
					
						
							|  |  |  | 			return "C"; | 
					
						
							|  |  |  | 		if ($frequency > 10000000000 && $frequency < 10500000000) | 
					
						
							|  |  |  | 			return "X"; | 
					
						
							|  |  |  | 		if ($frequency > 24000000000 && $frequency < 24250000000) | 
					
						
							|  |  |  | 			return "K"; | 
					
						
							|  |  |  | 		if ($frequency > 47000000000 && $frequency < 47200000000) | 
					
						
							|  |  |  | 			return "R"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return ""; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 	function delete($id) { | 
					
						
							|  |  |  | 		// Check Auth
 | 
					
						
							|  |  |  | 		$this->load->model('user_model'); | 
					
						
							|  |  |  | 		if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 		$this->load->model('cat'); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 		$this->cat->delete($id); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 		$this->session->set_flashdata('message', 'Radio Profile Deleted'); | 
					
						
							| 
									
										
										
										
											2021-09-21 01:32:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 04:14:39 +08:00
										 |  |  | 		redirect('radio'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-13 05:51:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-28 00:43:01 +08:00
										 |  |  | ?>
 |