| 
									
										
										
										
											2020-11-08 17:46:08 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | class Contesting_model extends CI_Model { | 
					
						
							|  |  |  |     function __construct() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         // Call the Model constructor
 | 
					
						
							|  |  |  |         parent::__construct(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-12-29 02:55:51 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      * This function gets the QSOs to fill the "Contest Logbook" under the contesting form. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     function getSessionQsos($qso) { | 
					
						
							|  |  |  |         $CI =& get_instance(); | 
					
						
							|  |  |  |         $CI->load->model('Stations'); | 
					
						
							|  |  |  |         $station_id = $CI->Stations->find_active(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $qsoarray = explode(',', $qso); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $contestid = $qsoarray[2]; | 
					
						
							|  |  |  |         $date = DateTime::createFromFormat('d-m-Y H:i:s', $qsoarray[0]); | 
					
						
							|  |  |  |         $date = $date->format('Y-m-d H:i:s'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-13 18:47:17 +08:00
										 |  |  |         $sql = "SELECT date_format(col_time_on, '%d-%m-%Y %H:%i:%s') as col_time_on, col_call, col_band, col_mode,
 | 
					
						
							|  |  |  |        		col_submode, col_rst_sent, col_rst_rcvd, coalesce(col_srx, '') col_srx, coalesce(col_srx_string, '') col_srx_string, | 
					
						
							|  |  |  |        		coalesce(col_stx, '') col_stx, coalesce(col_stx_string, '') col_stx_string, coalesce(col_gridsquare, '') col_gridsquare, | 
					
						
							|  |  |  |        		coalesce(col_vucc_grids, '') col_vucc_grids FROM " .
 | 
					
						
							| 
									
										
										
										
											2020-12-29 02:55:51 +08:00
										 |  |  |             $this->config->item('table_name') . | 
					
						
							|  |  |  |             " WHERE station_id = " . $station_id . | 
					
						
							|  |  |  |             " AND COL_TIME_ON >= '" . $date . "'" . | 
					
						
							|  |  |  |             " AND COL_CONTEST_ID = '" . $contestid . "'" . | 
					
						
							|  |  |  |             " ORDER BY COL_PRIMARY_KEY ASC"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $data = $this->db->query($sql); | 
					
						
							|  |  |  |         header('Content-Type: application/json'); | 
					
						
							|  |  |  |         echo json_encode($data->result()); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-02-13 06:27:08 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     function getActivecontests() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$sql = "SELECT name, adifname FROM contest WHERE active = 1 ORDER BY name ASC"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data = $this->db->query($sql); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return($data->result_array()); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function getAllContests() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$sql = "SELECT id, name, adifname, active FROM contest ORDER BY name ASC"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data = $this->db->query($sql); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return($data->result_array()); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function delete($id) { | 
					
						
							|  |  |  | 		// Clean ID
 | 
					
						
							|  |  |  | 		$clean_id = $this->security->xss_clean($id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// Delete Contest
 | 
					
						
							|  |  |  | 		$this->db->delete('contest', array('id' => $clean_id)); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function activate($id) { | 
					
						
							|  |  |  | 		// Clean ID
 | 
					
						
							|  |  |  | 		$clean_id = $this->security->xss_clean($id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data = array( | 
					
						
							|  |  |  | 			'active' => '1', | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->where('id', $clean_id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->update('contest', $data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return true; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function deactivate($id) { | 
					
						
							|  |  |  | 		// Clean ID
 | 
					
						
							|  |  |  | 		$clean_id = $this->security->xss_clean($id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data = array( | 
					
						
							|  |  |  | 			'active' => '0', | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->where('id', $clean_id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->update('contest', $data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return true; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function add() { | 
					
						
							|  |  |  | 		$data = array( | 
					
						
							|  |  |  | 			'name' => xss_clean($this->input->post('name', true)), | 
					
						
							|  |  |  | 			'adifname' => xss_clean($this->input->post('adifname', true)), | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->insert('contest', $data); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function contest($id) { | 
					
						
							|  |  |  | 		// Clean ID
 | 
					
						
							|  |  |  | 		$clean_id = $this->security->xss_clean($id); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$sql = "SELECT id, name, adifname, active FROM contest where id =" . $clean_id; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data = $this->db->query($sql); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return ($data->row()); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function edit($id) { | 
					
						
							|  |  |  | 		$data = array( | 
					
						
							|  |  |  | 			'name' => xss_clean($this->input->post('name', true)), | 
					
						
							|  |  |  | 			'adifname' => xss_clean($this->input->post('adifname', true)), | 
					
						
							|  |  |  | 			'active' =>  xss_clean($this->input->post('active', true)), | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->where('id', $id); | 
					
						
							|  |  |  | 		$this->db->update('contest', $data); | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2021-10-24 01:44:41 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	function activateall() { | 
					
						
							|  |  |  | 		$data = array( | 
					
						
							|  |  |  | 			'active' => '1', | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->update('contest', $data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return true; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function deactivateall() { | 
					
						
							|  |  |  | 		$data = array( | 
					
						
							|  |  |  | 			'active' => '0', | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->update('contest', $data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return true; | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2021-02-13 06:27:08 +08:00
										 |  |  | } |