| 
									
										
										
										
											2020-08-14 00:24:07 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class LotwCert extends CI_Model { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-14 00:28:22 +08:00
										 |  |  | 	/* | 
					
						
							|  |  |  | 	|-------------------------------------------------------------------------- | 
					
						
							|  |  |  | 	| Function: lotw_certs | 
					
						
							|  |  |  | 	|-------------------------------------------------------------------------- | 
					
						
							|  |  |  | 	|  | 
					
						
							|  |  |  | 	| Returns all lotw_certs for a selected user via the $user_id parameter | 
					
						
							|  |  |  | 	| | 
					
						
							|  |  |  | 	*/ | 
					
						
							| 
									
										
										
										
											2020-08-14 00:24:07 +08:00
										 |  |  | 	function lotw_certs($user_id) { | 
					
						
							| 
									
										
										
										
											2020-09-04 06:05:38 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-14 00:24:07 +08:00
										 |  |  | 		$this->db->where('user_id', $user_id); | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		$this->db->order_by('cert_dxcc', 'ASC'); | 
					
						
							| 
									
										
										
										
											2020-08-14 00:24:07 +08:00
										 |  |  | 		$query = $this->db->get('lotw_certs'); | 
					
						
							|  |  |  | 			 | 
					
						
							|  |  |  | 		return $query; | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-26 20:08:43 +08:00
										 |  |  | 	function lotw_cert_details($callsign, $dxcc) { | 
					
						
							|  |  |  | 		$this->db->where('cert_dxcc', $dxcc); | 
					
						
							| 
									
										
										
										
											2020-08-23 05:26:04 +08:00
										 |  |  | 		$this->db->where('callsign', $callsign); | 
					
						
							|  |  |  | 		$query = $this->db->get('lotw_certs'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return $query->row(); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-28 21:42:26 +08:00
										 |  |  | 	function find_cert($callsign, $dxcc, $user_id) { | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		$this->db->where('user_id', $user_id); | 
					
						
							| 
									
										
										
										
											2020-12-28 21:42:26 +08:00
										 |  |  | 		$this->db->where('cert_dxcc', $dxcc); | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		$this->db->where('callsign', $callsign); | 
					
						
							|  |  |  | 		$query = $this->db->get('lotw_certs'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return $query->num_rows(); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-26 22:24:28 +08:00
										 |  |  | 	function store_certificate($user_id, $callsign, $dxcc, $date_created, $date_expires, $qso_start_date, $qso_end_date, $cert_key, $general_cert) { | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		$data = array( | 
					
						
							|  |  |  | 		    'user_id' => $user_id, | 
					
						
							|  |  |  | 		    'callsign' => $callsign, | 
					
						
							|  |  |  | 		    'cert_dxcc' => $dxcc, | 
					
						
							|  |  |  | 		    'date_created' => $date_created, | 
					
						
							|  |  |  | 		    'date_expires' => $date_expires, | 
					
						
							| 
									
										
										
										
											2022-08-24 18:16:41 +08:00
										 |  |  | 		    'qso_start_date' => $qso_start_date, | 
					
						
							|  |  |  | 		    'qso_end_date' => $qso_end_date, | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		    'cert_key' => $cert_key, | 
					
						
							| 
									
										
										
										
											2020-08-26 23:31:35 +08:00
										 |  |  | 		    'cert' => $general_cert, | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->insert('lotw_certs', $data); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-26 23:31:35 +08:00
										 |  |  | 	function update_certficiate($user_id, $callsign, $dxcc, $date_created, $date_expires, $cert_key, $general_cert) { | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		$data = array( | 
					
						
							|  |  |  | 		    'cert_dxcc' => $dxcc, | 
					
						
							|  |  |  | 		    'date_created' => $date_created, | 
					
						
							|  |  |  | 		    'date_expires' => $date_expires, | 
					
						
							|  |  |  | 		    'cert_key' => $cert_key, | 
					
						
							| 
									
										
										
										
											2020-08-26 23:31:35 +08:00
										 |  |  | 		    'cert' => $general_cert | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->db->where('user_id', $user_id); | 
					
						
							|  |  |  | 		$this->db->where('callsign', $callsign); | 
					
						
							| 
									
										
										
										
											2020-12-28 21:45:06 +08:00
										 |  |  | 		$this->db->where('cert_dxcc', $dxcc); | 
					
						
							| 
									
										
										
										
											2020-08-18 00:02:54 +08:00
										 |  |  | 		$this->db->update('lotw_certs', $data); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function delete_certficiate($user_id, $lotw_cert_id) { | 
					
						
							|  |  |  | 		$this->db->where('lotw_cert_id', $lotw_cert_id); | 
					
						
							|  |  |  | 		$this->db->where('user_id', $user_id); | 
					
						
							|  |  |  | 		$this->db->delete('lotw_certs'); | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2020-08-27 04:20:58 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	function last_upload($certID) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       $data = array( | 
					
						
							|  |  |  |            'last_upload' => date("Y-m-d H:i:s"), | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $this->db->where('lotw_cert_id', $certID); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $this->db->update('lotw_certs', $data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return "Updated"; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2020-08-14 00:24:07 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 	function empty_table($table) { | 
					
						
							|  |  |  | 		$this->db->empty_table($table);  | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2022-12-23 21:49:03 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |    function lotw_cert_expired($user_id, $date) { | 
					
						
							|  |  |  |       $array = array('user_id' => $user_id, 'date_expires <' => $date); | 
					
						
							|  |  |  |       $this->db->where($array); | 
					
						
							|  |  |  |       $query = $this->db->get('lotw_certs'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       if ($query->num_rows() > 0) { | 
					
						
							|  |  |  |          return true; | 
					
						
							|  |  |  |       } else { | 
					
						
							|  |  |  |          return false; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    function lotw_cert_expiring($user_id, $date) { | 
					
						
							|  |  |  |       $array = array('user_id' => $user_id, 'DATE_SUB(date_expires, INTERVAL 30 DAY) <' => $date, 'date_expires >' => $date); | 
					
						
							|  |  |  |       $this->db->where($array); | 
					
						
							|  |  |  |       $query = $this->db->get('lotw_certs'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       if ($query->num_rows() > 0) { | 
					
						
							|  |  |  |          return true; | 
					
						
							|  |  |  |       } else { | 
					
						
							|  |  |  |          return false; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-14 00:24:07 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-08-24 18:16:41 +08:00
										 |  |  | ?>
 |