2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  Stations  extends  CI_Model  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 07:38:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  all_with_count ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 05:19:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-27 04:39:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_profile.*, dxcc_entities.name as station_country, dxcc_entities.end as dxcc_end, count(' . $this -> config -> item ( 'table_name' ) . '.station_id) as qso_total' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 05:19:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $this -> db -> from ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> db -> join ( $this -> config -> item ( 'table_name' ), 'station_profile.station_id = ' . $this -> config -> item ( 'table_name' ) . '.station_id' , 'left' ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 21:14:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $this -> db -> join ( 'dxcc_entities' , 'station_profile.station_dxcc = dxcc_entities.adif' , 'left outer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 05:19:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								       	$this -> db -> group_by ( 'station_profile.station_id' ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-23 22:50:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_profile.user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-21 03:26:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> or_where ( 'station_profile.user_id =' ,  NULL ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 05:19:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  $this -> db -> get (); 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-09-30 05:02:08 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// Returns ALL station profiles regardless of user logged in
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// This is also used by LoTW sync so must not be changed.
 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 07:38:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  all ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-26 04:03:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_profile.*, dxcc_entities.name as station_country' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> from ( 'station_profile' ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 21:14:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> join ( 'dxcc_entities' , 'station_profile.station_dxcc = dxcc_entities.adif' , 'left outer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-26 04:03:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return  $this -> db -> get (); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 07:38:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-05 22:16:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  all_of_user ( $userid  =  null )  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-24 23:15:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( $userid  ==  null )  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-05 22:16:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$userid = $this -> session -> userdata ( 'user_id' );  // Fallback to session-uid, if userid is omitted
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-27 04:39:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_profile.*, dxcc_entities.name as station_country, dxcc_entities.end as dxcc_end' ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-05 22:16:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $userid ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 21:14:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> join ( 'dxcc_entities' , 'station_profile.station_dxcc = dxcc_entities.adif' , 'left outer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2024-09-08 19:20:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> order_by ( 'station_profile.station_callsign' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> order_by ( 'station_profile.station_profile_name' ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-24 23:15:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  callsigns_of_user ( $userid  =  null )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $userid  ==  null )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$userid = $this -> session -> userdata ( 'user_id' );  // Fallback to session-uid, if userid is omitted
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> select ( 'distinct(station_profile.station_callsign) as callsign' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $userid ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-08-20 05:25:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  profile ( $id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 02:16:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Clean ID
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$clean_id  =  $this -> security -> xss_clean ( $id ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-08 00:32:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $clean_id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  profile_clean ( $id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Clean ID
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$clean_id  =  $this -> security -> xss_clean ( $id ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 02:16:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $clean_id ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-08 00:32:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$row  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $row ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-20 05:25:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									* 	Function :  add 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									* 	Adds  post  material  into  the  station  profile  table . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									*/ 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									function  add ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-05 00:14:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// check if user has no active station profile yet
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$station_active  =  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $this -> find_active ()  ===  '0' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$station_active  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:22:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Check if the state is Canada and get the correct state
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $this -> input -> post ( 'dxcc' )  ==  1  &&  $this -> input -> post ( 'station_ca_state' )  != " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$state  =  $this -> input -> post ( 'station_ca_state' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$state  =  $this -> input -> post ( 'station_state' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Create data array with field values
 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										$data  =  array ( 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-16 02:54:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'user_id'  =>  $this -> session -> userdata ( 'user_id' ), 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-05 00:14:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_active'  =>  $station_active , 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_profile_name'  =>  xss_clean ( $this -> input -> post ( 'station_profile_name' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_gridsquare'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'gridsquare' ,  true ))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_city'  =>   xss_clean ( $this -> input -> post ( 'city' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_iota'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'iota' ,  true ))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_sota'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'sota' ,  true ))), 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-17 20:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_wwff'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'wwff' ,  true ))), 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-05 23:05:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_pota'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'pota' ,  true ))), 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-14 22:25:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_wab'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'wab' ,  true ))), 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 17:19:47 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_sig'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'sig' ,  true ))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_sig_info'  =>   xss_clean ( strtoupper ( $this -> input -> post ( 'sig_info' ,  true ))), 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_callsign'  =>   xss_clean ( $this -> input -> post ( 'station_callsign' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 20:04:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_power'  =>  is_numeric ( xss_clean ( $this -> input -> post ( 'station_power' ,  true )))  ?  xss_clean ( $this -> input -> post ( 'station_power' ,  true ))  :  NULL , 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_dxcc'  =>   xss_clean ( $this -> input -> post ( 'dxcc' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_cnty'  =>   xss_clean ( $this -> input -> post ( 'station_cnty' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_cq'  =>   xss_clean ( $this -> input -> post ( 'station_cq' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_itu'  =>   xss_clean ( $this -> input -> post ( 'station_itu' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:22:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'state'  =>   $state , 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'eqslqthnickname'  =>  xss_clean ( $this -> input -> post ( 'eqslnickname' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 06:04:34 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'hrdlog_username'  =>  xss_clean ( $this -> input -> post ( 'hrdlog_username' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'hrdlog_code'  =>  xss_clean ( $this -> input -> post ( 'hrdlog_code' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'hrdlogrealtime'  =>  xss_clean ( $this -> input -> post ( 'hrdlogrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-27 22:28:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'clublogrealtime'  =>  xss_clean ( $this -> input -> post ( 'clublogrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'qrzapikey'  =>  xss_clean ( $this -> input -> post ( 'qrzapikey' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'qrzrealtime'  =>  xss_clean ( $this -> input -> post ( 'qrzrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-16 01:29:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'oqrs'  =>  xss_clean ( $this -> input -> post ( 'oqrs' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'oqrs_email'  =>  xss_clean ( $this -> input -> post ( 'oqrsemail' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'oqrs_text'  =>  xss_clean ( $this -> input -> post ( 'oqrstext' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'webadifapikey'  =>  xss_clean ( $this -> input -> post ( 'webadifapikey' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'webadifapiurl'  =>  'https://qo100dx.club/api' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'webadifrealtime'  =>  xss_clean ( $this -> input -> post ( 'webadifrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-29 21:17:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Insert Records & return insert id //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $this -> db -> insert ( 'station_profile' ,  $data ) === true )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$station_user_list  =  $this -> all_of_user () -> result (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  (( count ( $station_user_list ) > 0 )  &&  ( isset ( $station_user_list [ intval ( count ( $station_user_list ) - 1 )] -> station_id )))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $station_user_list [ intval ( count ( $station_user_list ) - 1 )] -> station_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  edit ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:14:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:22:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Check if the state is Canada and get the correct state
 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:14:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( $this -> input -> post ( 'dxcc' )  ==  1  &&  $this -> input -> post ( 'station_ca_state' )  != " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$state  =  $this -> input -> post ( 'station_ca_state' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$state  =  $this -> input -> post ( 'station_state' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:22:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										$data  =  array ( 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_profile_name'  =>  xss_clean ( $this -> input -> post ( 'station_profile_name' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_gridsquare'  =>  xss_clean ( $this -> input -> post ( 'gridsquare' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_city'  =>  xss_clean ( $this -> input -> post ( 'city' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_iota'  =>  xss_clean ( $this -> input -> post ( 'iota' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_sota'  =>  xss_clean ( $this -> input -> post ( 'sota' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-17 20:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_wwff'  =>  xss_clean ( $this -> input -> post ( 'wwff' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-05 23:05:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_pota'  =>  xss_clean ( $this -> input -> post ( 'pota' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-14 22:25:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_wab'  =>  xss_clean ( $this -> input -> post ( 'wab' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 17:19:47 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_sig'  =>  xss_clean ( $this -> input -> post ( 'sig' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_sig_info'  =>  xss_clean ( $this -> input -> post ( 'sig_info' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_callsign'  =>  xss_clean ( $this -> input -> post ( 'station_callsign' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 20:04:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_power'  =>  is_numeric ( xss_clean ( $this -> input -> post ( 'station_power' ,  true )))  ?  xss_clean ( $this -> input -> post ( 'station_power' ,  true ))  :  NULL , 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_dxcc'  =>  xss_clean ( $this -> input -> post ( 'dxcc' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_cnty'  =>  xss_clean ( $this -> input -> post ( 'station_cnty' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_cq'  =>  xss_clean ( $this -> input -> post ( 'station_cq' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_itu'  =>  xss_clean ( $this -> input -> post ( 'station_itu' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 20:14:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'state'  =>  $state , 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'eqslqthnickname'  =>  xss_clean ( $this -> input -> post ( 'eqslnickname' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 06:04:34 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'hrdlog_username'  =>  xss_clean ( $this -> input -> post ( 'hrdlog_username' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'hrdlog_code'  =>  xss_clean ( $this -> input -> post ( 'hrdlog_code' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'hrdlogrealtime'  =>  xss_clean ( $this -> input -> post ( 'hrdlogrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-27 22:28:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'clublogrealtime'  =>  xss_clean ( $this -> input -> post ( 'clublogrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'qrzapikey'  =>  xss_clean ( $this -> input -> post ( 'qrzapikey' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'qrzrealtime'  =>  xss_clean ( $this -> input -> post ( 'qrzrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-16 01:29:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'oqrs'  =>  xss_clean ( $this -> input -> post ( 'oqrs' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'oqrs_email'  =>  xss_clean ( $this -> input -> post ( 'oqrsemail' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'oqrs_text'  =>  xss_clean ( $this -> input -> post ( 'oqrstext' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'webadifapikey'  =>  xss_clean ( $this -> input -> post ( 'webadifapikey' ,  true )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'webadifapiurl'  =>  'https://qo100dx.club/api' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'webadifrealtime'  =>  xss_clean ( $this -> input -> post ( 'webadifrealtime' ,  true )), 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 17:17:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:02:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  xss_clean ( $this -> input -> post ( 'station_id' ,  true ))); 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> update ( 'station_profile' ,  $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  delete ( $id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 02:16:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Clean ID
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$clean_id  =  $this -> security -> xss_clean ( $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-05 00:14:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// do not delete active station
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $clean_id  ===  $this -> find_active ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-04 03:16:40 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Delete QSOs
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> delete ( $this -> config -> item ( 'table_name' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Delete Station Profile
 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> delete ( 'station_profile' ,  array ( 'station_id'  =>  $clean_id )); 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-07 21:54:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  deletelog ( $id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        // Delete QSOs
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> db -> where ( 'station_id' ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> db -> delete ( $this -> config -> item ( 'table_name' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-08-23 22:50:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  claim_user ( $id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$data  =  array ( 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-24 00:34:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												'user_id'  =>  $this -> session -> userdata ( 'user_id' ), 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-23 22:50:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-08-24 00:34:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> update ( 'station_profile' ,  $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-09 21:55:46 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  ClaimAllStationLocations ( $id  =  NULL )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// if $id is empty then use session user_id
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( empty ( $id ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Get the first USER ID from user table in the database
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$id  =  $this -> db -> get ( " users " ) -> row () -> user_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-09 23:46:37 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-09 21:55:46 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$data  =  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'user_id'  =>  $id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-09 21:55:46 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> update ( 'station_profile' ,  $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-23 22:50:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-09 23:46:37 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  CountAllStationLocations ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-12 00:10:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id =' ,  NULL ); 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-11 23:54:32 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $query -> num_rows (); 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-09 23:46:37 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  set_active ( $current ,  $new )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 02:16:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Clean inputs
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$clean_current  =  $this -> security -> xss_clean ( $current ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$clean_new  =  $this -> security -> xss_clean ( $new ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// be sure that stations belong to user
 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 17:17:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( $clean_current  !=  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( ! $this -> check_station_is_accessible ( $clean_current ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 17:17:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( ! $this -> check_station_is_accessible ( $clean_new ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Deselect current default
 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$current_default  =  array ( 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'station_active'  =>  null , 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> update ( 'station_profile' ,  $current_default ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Deselect current default
 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$newdefault  =  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'station_active'  =>  1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 02:16:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $clean_new ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> update ( 'station_profile' ,  $newdefault ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  find_active ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_active' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( $query -> num_rows ()  >=  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $row -> station_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											return  " 0 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-18 17:49:27 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-18 17:49:27 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									public  function  find_gridsquare ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_active' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $query -> num_rows ()  >=  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-18 17:49:27 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $row -> station_gridsquare ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-18 17:49:27 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											return  " 0 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 16:56:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-02 18:38:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									public  function  find_name ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_active' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $query -> num_rows ()  >=  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $row -> station_profile_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  " 0 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  function  reassign ( $id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 02:16:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Clean ID
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$clean_id  =  $this -> security -> xss_clean ( $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-25 06:13:49 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_profile.*, dxcc_entities.name as station_country' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $clean_id ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 21:14:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> join ( 'dxcc_entities' ,  'station_profile.station_dxcc = dxcc_entities.adif' ,  'left outer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$row  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										//print_r($row);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$data  =  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										        'station_id'  =>  $id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'COL_STATION_CALLSIGN' ,  $row -> station_callsign ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( $row -> station_iota  !=  " " )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 01:35:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_IOTA' ,  $row -> station_iota ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $row -> station_sota  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_SOTA_REF' ,  $row -> station_sota ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-08-17 20:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( $row -> station_wwff  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_WWFF_REF' ,  $row -> station_wwff ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-05 23:05:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( $row -> station_pota  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_POTA_REF' ,  $row -> station_pota ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-09 04:46:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( $row -> station_sig  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_SIG' ,  $row -> station_sig ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $row -> station_sig_info  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_SIG_INFO' ,  $row -> station_sig_info ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'COL_MY_COUNTRY' ,  $row -> station_country ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if (  strpos ( $row -> station_gridsquare ,  ',' )  !==  false  )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										     $this -> db -> where ( 'COL_MY_VUCC_GRIDS' ,  $row -> station_gridsquare ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> db -> where ( 'COL_MY_GRIDSQUARE' ,  $row -> station_gridsquare ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> update ( $this -> config -> item ( 'table_name' ),  $data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$str  =  $this -> db -> last_query (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  profile_exists ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    $query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $query -> num_rows ()  >=  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	return  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	return  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-17 02:58:48 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									    } 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  stations_with_hrdlog_code ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								       $sql  =  " SELECT station_profile.station_id, station_profile.station_profile_name, station_profile.station_callsign, modc.modcount, notc.notcount, totc.totcount
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                FROM  station_profile 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            SELECT  count ( * )  modcount ,  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    FROM  " .  $this->config ->item('table_name') .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    "  WHERE COL_HRDLOG_QSO_UPLOAD_STATUS = 'M'
 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    group  by  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                )  as  modc  on  station_profile . station_id  =  modc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            SELECT  count ( * )  notcount ,  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    FROM  "  .  $this->config ->item('table_name') .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    "  WHERE (coalesce(COL_HRDLOG_QSO_UPLOAD_STATUS, '') = ''
 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    or  COL_HRDLOG_QSO_UPLOAD_STATUS  =  'N' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    group  by  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                )  as  notc  on  station_profile . station_id  =  notc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    SELECT  count ( * )  totcount ,  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    FROM  "  .  $this->config ->item('table_name') .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    "  WHERE COL_HRDLOG_QSO_UPLOAD_STATUS = 'Y'
 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    group  by  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                )  as  totc  on  station_profile . station_id  =  totc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                WHERE  coalesce ( station_profile . hrdlog_code ,  '' )  <>  ''  AND  coalesce ( station_profile . hrdlog_username ,  '' )  <>  '' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 AND  station_profile . user_id  =  "  .  $this->session ->userdata('user_id');
 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-07 19:33:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $query  =  $this -> db -> query ( $sql ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  $query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 00:29:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-21 01:43:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  stations_with_qrz_api_key ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								       $sql  =  " SELECT station_profile.station_id, station_profile.station_profile_name, station_profile.station_callsign, modc.modcount, notc.notcount, totc.totcount
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                FROM  station_profile 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            SELECT  count ( * )  modcount ,  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    FROM  " .  $this->config ->item('table_name') .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    "  WHERE COL_QRZCOM_QSO_UPLOAD_STATUS = 'M'
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-21 01:43:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    group  by  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                )  as  modc  on  station_profile . station_id  =  modc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            SELECT  count ( * )  notcount ,  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    FROM  "  .  $this->config ->item('table_name') .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    "  WHERE (coalesce(COL_QRZCOM_QSO_UPLOAD_STATUS, '') = ''
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-21 01:43:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    or  COL_QRZCOM_QSO_UPLOAD_STATUS  =  'N' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    group  by  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                )  as  notc  on  station_profile . station_id  =  notc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    SELECT  count ( * )  totcount ,  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    FROM  "  .  $this->config ->item('table_name') .
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    "  WHERE COL_QRZCOM_QSO_UPLOAD_STATUS = 'Y'
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-21 01:43:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    group  by  station_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                )  as  totc  on  station_profile . station_id  =  totc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-16 14:48:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                WHERE  coalesce ( station_profile . qrzapikey ,  '' )  <>  '' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 AND  station_profile . user_id  =  "  .  $this->session ->userdata('user_id');
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-21 01:43:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $query  =  $this -> db -> query ( $sql ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  $query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-18 01:54:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  stations_with_webadif_api_key ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$sql = " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SELECT  station_profile . station_id ,  station_profile . station_profile_name ,  station_profile . station_callsign ,  notc . c  notcount ,  totc . c  totcount 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FROM  station_profile 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-30 04:05:04 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											LEFT  OUTER  JOIN  ( 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-18 01:54:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												SELECT  qsos . station_id ,  COUNT ( qsos . COL_PRIMARY_KEY )  c 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FROM  % s  qsos 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												LEFT  JOIN  webadif  ON  qsos . COL_PRIMARY_KEY  =  webadif . qso_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-27 22:03:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												WHERE  webadif . qso_id  IS  NULL  AND  qsos . COL_SAT_NAME  =  'QO-100' 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-18 01:54:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												GROUP  BY  qsos . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-19 18:49:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											)  notc  ON  station_profile . station_id  =  notc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-30 04:05:04 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											LEFT  JOIN  ( 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-18 01:54:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												SELECT  qsos . station_id ,  COUNT ( qsos . COL_PRIMARY_KEY )  c 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FROM  % s  qsos 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-27 22:03:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												WHERE  qsos . COL_SAT_NAME  =  'QO-100' 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-18 01:54:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												GROUP  BY  qsos . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-19 18:49:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											)  totc  ON  station_profile . station_id  =  totc . station_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-18 01:54:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											WHERE  COALESCE ( station_profile . webadifapikey ,  '' )  <>  '' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AND  COALESCE ( station_profile . webadifapiurl ,  '' )  <>  '' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AND  station_profile . user_id  =  % d 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										" ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$sql = sprintf ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$sql , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> config -> item ( 'table_name' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> config -> item ( 'table_name' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> session -> userdata ( 'user_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $this -> db -> query ( $sql ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /* 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									* 	Function :  are_eqsl_nicks_defined 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									* 	Description :  Returns  number  of  station  profiles  with  eqslnicknames 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  are_eqsl_nicks_defined ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$this -> db -> select ( 'eqslqthnickname' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$this -> db -> where ( 'eqslqthnickname IS NOT NULL' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$this -> db -> where ( 'eqslqthnickname !=' ,  '' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> from ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $query -> num_rows (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 17:17:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									public  function  check_station_is_accessible ( $id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// check if station belongs to user
 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-15 00:50:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_id' ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-31 17:17:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $query -> num_rows ()  ==  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 05:02:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  get_station_power ( $id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_power' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $query -> num_rows ()  >=  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $row -> station_power ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 14:12:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  check_station_against_user ( $stationid ,  $userid )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_id' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'user_id' ,  $userid ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 15:26:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $stationid ); 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 14:12:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $query -> num_rows ()  ==  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-06 06:02:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  check_station_against_callsign ( $stationid ,  $callsign )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> select ( 'station_id' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_callsign' ,  $callsign ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> where ( 'station_id' ,  $stationid ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $this -> db -> get ( 'station_profile' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $query -> num_rows ()  ==  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-01 01:11:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-12 14:40:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// [MAP Custom] get array for json structure (for map) about info's station  //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  get_station_array_for_map ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-01 01:11:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$_jsonresult  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										list ( $station_lat ,  $station_lng )  =  array ( 0 , 0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$station_active  =  $this -> profile ( $this -> find_active ()) -> row (); 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-11 13:18:38 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$CI  =  & get_instance (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$CI -> load -> library ( 'DxccFlag' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$flag  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( ! empty ( $station_active ))  {  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$flag  =  strtolower ( $CI -> dxccflag -> getISO ( $station_active -> station_dxcc )); 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-11 13:27:26 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$flag  =  '<span class="fi fi-'  .  $flag  . '"></span> ' ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-11 13:18:38 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											list ( $station_lat ,  $station_lng )  =  $this -> qra -> qra2latlong ( $station_active -> station_gridsquare );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  (( $station_lat != 0 ) && ( $station_lng != 0 ))  {  $_jsonresult  =  array ( 'lat' => $station_lat , 'lng' => $station_lng , 'html' => $station_active -> station_gridsquare , 'label' => $station_active -> station_profile_name , 'icon' => 'stationIcon' , 'flag' => $flag );  } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-12 14:40:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return  ( count ( $_jsonresult ) > 0 ) ? ( array ( 'station' => $_jsonresult )) : array (); 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-01 01:11:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-02 03:14:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-02 18:38:55 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								?>