| 
									
										
										
										
											2011-04-25 23:24:01 +08:00
										 |  |  | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TODO | 
					
						
							|  |  |  | 	- Update Edit | 
					
						
							|  |  |  | 	- Store Radio Information | 
					
						
							|  |  |  | 	- Upload to clublog (request api key) | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-25 23:24:01 +08:00
										 |  |  | class QSO extends CI_Controller { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function index() | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 		$this->load->model('cat'); | 
					
						
							| 
									
										
										
										
											2019-01-02 03:14:25 +08:00
										 |  |  | 		$this->load->model('stations'); | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 		$this->load->model('logbook_model'); | 
					
						
							| 
									
										
										
										
											2011-08-20 00:12:13 +08:00
										 |  |  | 		$this->load->model('user_model'); | 
					
						
							|  |  |  | 		if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 		$data['notice'] = false; | 
					
						
							| 
									
										
										
										
											2019-01-02 03:14:25 +08:00
										 |  |  | 		$data['stations'] = $this->stations->all(); | 
					
						
							| 
									
										
										
										
											2012-04-08 20:17:14 +08:00
										 |  |  | 		$data['radios'] = $this->cat->radios(); | 
					
						
							| 
									
										
										
										
											2012-04-23 21:58:04 +08:00
										 |  |  | 		$data['query'] = $this->logbook_model->last_custom('16'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		$this->load->library('form_validation'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('start_date', 'Date', 'required'); | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('start_time', 'Time', 'required'); | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('callsign', 'Callsign', 'required'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if ($this->form_validation->run() == FALSE) | 
					
						
							|  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2011-11-05 01:32:03 +08:00
										 |  |  | 			$data['page_title'] = "Add QSO"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->load->view('layout/header', $data); | 
					
						
							|  |  |  | 			$this->load->view('qso/index'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 			$this->load->view('layout/footer'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		else | 
					
						
							|  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 			// Add QSO
 | 
					
						
							| 
									
										
										
										
											2016-02-13 00:31:29 +08:00
										 |  |  | 			// $this->logbook_model->add();
 | 
					
						
							|  |  |  | 		//change to create_qso function as add and create_qso duplicate functionality
 | 
					
						
							|  |  |  | 		$this->logbook_model->create_qso(); | 
					
						
							| 
									
										
										
										
											2011-07-25 06:33:08 +08:00
										 |  |  | 			 | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 			// Store Basic QSO Info for reuse
 | 
					
						
							| 
									
										
										
										
											2015-03-18 16:12:12 +08:00
										 |  |  |       // Put data in an array first, then call set_userdata once.
 | 
					
						
							|  |  |  |       // This solves the problem of CI dumping out the session
 | 
					
						
							|  |  |  |       // cookie each time set_userdata is called.
 | 
					
						
							|  |  |  |       // For more info, see http://bizhole.com/codeigniter-nginx-error-502-bad-gateway/
 | 
					
						
							| 
									
										
										
										
											2016-01-18 20:38:00 +08:00
										 |  |  |       // $qso_data = [
 | 
					
						
							|  |  |  |       // 18-Jan-2016 - make php v5.3 friendly!
 | 
					
						
							| 
									
										
										
										
											2016-02-13 00:31:29 +08:00
										 |  |  |       $qso_data = array( | 
					
						
							| 
									
										
										
										
											2015-03-18 16:12:12 +08:00
										 |  |  |         'band' => $this->input->post('band'), | 
					
						
							|  |  |  |         'freq' => $this->input->post('freq'), | 
					
						
							|  |  |  |         'mode' => $this->input->post('mode'), | 
					
						
							|  |  |  |         'sat_name' => $this->input->post('sat_name'), | 
					
						
							|  |  |  |         'sat_mode' => $this->input->post('sat_mode'), | 
					
						
							| 
									
										
										
										
											2019-01-02 03:14:25 +08:00
										 |  |  |         'radio' => $this->input->post('radio'), | 
					
						
							|  |  |  |         'station_profile_id' => $this->input->post('station_profile') | 
					
						
							| 
									
										
										
										
											2016-01-18 20:38:00 +08:00
										 |  |  |       ); | 
					
						
							|  |  |  |       // ];
 | 
					
						
							| 
									
										
										
										
											2015-03-18 16:12:12 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |       $this->session->set_userdata($qso_data); | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 			 | 
					
						
							| 
									
										
										
										
											2018-12-26 22:30:32 +08:00
										 |  |  | 			// Get last 16 qsos
 | 
					
						
							|  |  |  | 			$data['query'] = $this->logbook_model->last_custom('16'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 			  | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 			// Set Any Notice Messages
 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 			$data['notice'] = "QSO Added"; | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 			 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 			// Load view to create another contact
 | 
					
						
							| 
									
										
										
										
											2011-11-05 01:32:03 +08:00
										 |  |  | 			$data['page_title'] = "Add QSO"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->load->view('layout/header', $data); | 
					
						
							|  |  |  | 			$this->load->view('qso/index'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 			$this->load->view('layout/footer'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2012-09-07 00:27:27 +08:00
										 |  |  | 	/*  | 
					
						
							|  |  |  | 		Function:	manual | 
					
						
							|  |  |  | 		Usage:		Post QSO Logging  | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	public function manual() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		$this->load->model('cat'); | 
					
						
							|  |  |  | 		$this->load->model('logbook_model'); | 
					
						
							|  |  |  | 		$this->load->model('user_model'); | 
					
						
							|  |  |  | 		if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$data['notice'] = false; | 
					
						
							|  |  |  | 		$data['radios'] = $this->cat->radios(); | 
					
						
							|  |  |  | 		$data['query'] = $this->logbook_model->last_custom('16'); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$this->load->library('form_validation'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('start_date', 'Date', 'required'); | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('start_time', 'Time', 'required'); | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('callsign', 'Callsign', 'required'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if ($this->form_validation->run() == FALSE) | 
					
						
							|  |  |  | 		{ | 
					
						
							|  |  |  | 			$data['page_title'] = "Add QSO"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->load->view('layout/header', $data); | 
					
						
							|  |  |  | 			$this->load->view('qso/manual'); | 
					
						
							|  |  |  | 			$this->load->view('layout/footer'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		else | 
					
						
							|  |  |  | 		{ | 
					
						
							|  |  |  | 			// Add QSO
 | 
					
						
							|  |  |  | 			$this->logbook_model->create_qso(); | 
					
						
							|  |  |  | 			 | 
					
						
							|  |  |  | 			// Store Basic QSO Info for reuse
 | 
					
						
							| 
									
										
										
										
											2016-01-18 20:38:00 +08:00
										 |  |  |       //$qso_data = [
 | 
					
						
							|  |  |  |       // 18-Jan-2016 - make php v5.3 friendly!
 | 
					
						
							|  |  |  |       $qso_data = array( | 
					
						
							| 
									
										
										
										
											2015-03-18 16:12:12 +08:00
										 |  |  |         'band' => $this->input->post('band'), | 
					
						
							|  |  |  |         'freq' => $this->input->post('freq'), | 
					
						
							|  |  |  |         'mode' => $this->input->post('mode'), | 
					
						
							|  |  |  |         'sat_name' => $this->input->post('sat_name'), | 
					
						
							|  |  |  |         'sat_mode' => $this->input->post('sat_mode'), | 
					
						
							|  |  |  |         'radio' => $this->input->post('radio') | 
					
						
							| 
									
										
										
										
											2016-01-18 20:38:00 +08:00
										 |  |  |       ); | 
					
						
							|  |  |  |       //];
 | 
					
						
							| 
									
										
										
										
											2015-03-18 16:12:12 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |       $this->session->set_userdata($qso_data); | 
					
						
							| 
									
										
										
										
											2012-09-07 00:27:27 +08:00
										 |  |  | 			 | 
					
						
							|  |  |  | 			// Get last Ten QSOs
 | 
					
						
							|  |  |  | 			$data['query'] = $this->logbook_model->last_ten(); | 
					
						
							|  |  |  | 			  | 
					
						
							|  |  |  | 			// Set Any Notice Messages
 | 
					
						
							|  |  |  | 			$data['notice'] = "QSO Added"; | 
					
						
							|  |  |  | 			 | 
					
						
							|  |  |  | 			// Load view to create another contact
 | 
					
						
							|  |  |  | 			$data['page_title'] = "Manual QSO"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->load->view('layout/header', $data); | 
					
						
							|  |  |  | 			$this->load->view('qso/manual'); | 
					
						
							|  |  |  | 			$this->load->view('layout/footer'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 	function edit() { | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 		$this->load->model('logbook_model'); | 
					
						
							| 
									
										
										
										
											2011-08-20 00:12:13 +08:00
										 |  |  | 		$this->load->model('user_model'); | 
					
						
							|  |  |  | 		if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 		$query = $this->logbook_model->qso_info($this->uri->segment(3)); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		$this->load->library('form_validation'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('time_on', 'Start Date', 'required'); | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('time_off', 'End Date', 'required'); | 
					
						
							|  |  |  | 		$this->form_validation->set_rules('callsign', 'Callsign', 'required'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data = $query->row();  | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		if ($this->form_validation->run() == FALSE) | 
					
						
							|  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2011-11-05 01:32:03 +08:00
										 |  |  | 			$this->load->view('layout/mini_header', $data); | 
					
						
							|  |  |  | 			$this->load->view('qso/edit'); | 
					
						
							| 
									
										
										
										
											2011-10-19 06:06:34 +08:00
										 |  |  | 			$this->load->view('layout/mini_footer'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 		else | 
					
						
							|  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2011-07-22 08:08:47 +08:00
										 |  |  | 			$this->logbook_model->edit(); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 			$this->session->set_flashdata('notice', 'Record Updated'); | 
					
						
							| 
									
										
										
										
											2011-11-26 01:29:46 +08:00
										 |  |  | 			$this->load->view('qso/edit_done'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2011-08-28 21:51:57 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	/* Delete QSO */ | 
					
						
							|  |  |  | 	function delete($id) { | 
					
						
							|  |  |  | 		$this->load->model('logbook_model'); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$this->logbook_model->delete($id); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-08-28 21:51:57 +08:00
										 |  |  | 		$this->session->set_flashdata('notice', 'QSO Deleted Successfully'); | 
					
						
							| 
									
										
										
										
											2011-10-19 06:06:34 +08:00
										 |  |  | 		$data['message_title'] = "Deleted"; | 
					
						
							|  |  |  | 		$data['message_contents'] = "QSO Deleted Successfully"; | 
					
						
							|  |  |  | 		$this->load->view('messages/message', $data); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-25 23:24:01 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-09-14 01:01:19 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2011-09-18 19:21:51 +08:00
										 |  |  | 	function band_to_freq($band, $mode) { | 
					
						
							| 
									
										
										
										
											2011-09-14 01:01:19 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		$this->load->library('frequency'); | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-09-18 19:21:51 +08:00
										 |  |  | 		echo $this->frequency->convent_band($band, $mode); | 
					
						
							| 
									
										
										
										
											2011-09-14 01:01:19 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-08-20 00:12:13 +08:00
										 |  |  | } |