2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  if  (  !  defined ( 'BASEPATH' ))  exit ( 'No direct script access allowed' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  eqsl  extends  CI_Controller  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Controls who can access the controller and its functions */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  __construct () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										parent :: __construct (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> helper ( array ( 'form' ,  'url' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> model ( 'user_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( ! $this -> user_model -> authorize ( 2 ))  {  $this -> session -> set_flashdata ( 'notice' ,  'You\'re not allowed to do that!' );  redirect ( 'dashboard' );  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									private  function  loadFromFile ( $filepath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 00:17:26 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										ini_set ( 'memory_limit' ,  '-1' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set_time_limit ( 0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										// Figure out how we should be marking QSLs confirmed via eQSL
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$query  =  $query  =  $this -> db -> query ( 'SELECT eqsl_rcvd_mark FROM config' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$q  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$config [ 'eqsl_rcvd_mark' ]  =  $q -> eqsl_rcvd_mark ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ini_set ( 'memory_limit' ,  '-1' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set_time_limit ( 0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> library ( 'adif_parser' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> adif_parser -> load_from_file ( $filepath ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> adif_parser -> initialize (); 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-04 03:15:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$tableheaders  =  " <table> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$tableheaders  .=  " <tr class= \" titles \" > " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$tableheaders  .=  " <td>Date</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$tableheaders  .=  " <td>Call</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$tableheaders  .=  " <td>Mode</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-01 01:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$tableheaders  .=  " <td>Submode</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$tableheaders  .=  " <td>Log Status</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$tableheaders  .=  " <td>eQSL Status</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$tableheaders  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$table  =  " " ; 		
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										while  ( $record  =  $this -> adif_parser -> get_record ()) 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$time_on  =  date ( 'Y-m-d' ,  strtotime ( $record [ 'qso_date' ]))  . "   " . date ( 'H:i' ,  strtotime ( $record [ 'time_on' ])); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// The report from eQSL should only contain entries that have been confirmed via eQSL
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// If there's a match for the QSO from the report in our log, it's confirmed via eQSL.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// If we have a positive match from LoTW, record it in the DB according to the user's preferences
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( $record [ 'qsl_sent' ]  ==  " Y " ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-31 22:54:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$record [ 'qsl_sent' ]  =  $config [ 'eqsl_rcvd_mark' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
									
										
										
										
											2019-06-25 23:19:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$status  =  $this -> logbook_model -> import_check ( $time_on ,  $record [ 'call' ],  $record [ 'band' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if  ( $status  ==  " Found " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-25 23:19:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$dupe  =  $this -> logbook_model -> eqsl_dupe_check ( $time_on ,  $record [ 'call' ],  $record [ 'band' ],  $config [ 'eqsl_rcvd_mark' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $dupe  ==  false ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-31 22:54:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-25 23:19:11 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													$eqsl_status  =  $this -> logbook_model -> eqsl_update ( $time_on ,  $record [ 'call' ],  $record [ 'band' ],  $config [ 'eqsl_rcvd_mark' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-31 22:54:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													$eqsl_status  =  " Already received an eQSL for this QSO. " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-31 22:54:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$eqsl_status  =  " QSO not found " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$table  .=  " <td> " . $time_on . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-25 21:28:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$table  .=  " <td> " . str_replace ( " 0 " , " Ø " , $record [ 'call' ]) . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$table  .=  " <td> " . $record [ 'mode' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-04 00:47:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( isset ( $record [ 'submode' ])) 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-04 00:08:34 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$table  .=  " <td> " . $record [ 'submode' ] . " </td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$table  .=  " <td></td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$table  .=  " <td>QSO Record:  " . $status . " </td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$table  .=  " <td>eQSL Record:  " . $eqsl_status . " </td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $table  !=  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 	
							 
						 
					
						
							
								
									
										
										
										
											2013-11-04 03:15:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$table  .=  " </table> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-16 05:28:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$data [ 'eqsl_results_table_headers' ]  =  $tableheaders ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-04 03:15:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$data [ 'eqsl_results_table' ]  =  $table ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-04 03:15:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										unlink ( $filepath ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-09-01 00:50:04 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$data [ 'page_title' ]  =  " eQSL Import Information " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-15 00:29:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> view ( 'interface_assets/header' ,  $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										$this -> load -> view ( 'eqsl/analysis' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-15 00:29:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> view ( 'interface_assets/footer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 00:17:26 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									public  function  import ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:50:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// Check if eQSL Nicknames have been defined
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> load -> model ( 'stations' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( $this -> stations -> are_eqsl_nicks_defined ()  ==  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												show_error ( 'eQSL Nicknames in Station Profiles arent defined' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												exit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 00:17:26 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										ini_set ( 'memory_limit' ,  '-1' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set_time_limit ( 0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										$data [ 'page_title' ]  =  " eQSL Import " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$config [ 'upload_path' ]  =  './uploads/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$config [ 'allowed_types' ]  =  'adi|ADI' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> library ( 'upload' ,  $config ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> model ( 'logbook_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $this -> input -> post ( 'eqslimport' )  ==  'fetch' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 			
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 23:10:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											//echo "import from clublog ADIF<br>";
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											$file  =  $config [ 'upload_path' ]  .  'eqslreport_download.adi' ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 23:10:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											//echo "<br>Download File: ".$file."<br>";
 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											// Get credentials for eQSL
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											$query  =  $this -> user_model -> get_by_id ( $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
									
										
										
										
											2018-12-01 03:00:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$q  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$data [ 'user_eqsl_name' ]  =  $q -> user_eqsl_name ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											$data [ 'user_eqsl_password' ]  =  $q -> user_eqsl_password ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 22:20:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 23:10:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											//echo "<br>Username".$data['user_eqsl_name']."<br>";
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Get URL for downloading the eqsl.cc inbox
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$query  =  $query  =  $this -> db -> query ( 'SELECT eqsl_download_url FROM config' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$eqsl_url  =  $q -> eqsl_download_url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Validate that LoTW credentials are not empty
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( $data [ 'user_eqsl_name' ]  ==  ''  ||  $data [ 'user_eqsl_password' ]  ==  '' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> session -> set_flashdata ( 'warning' ,  'You have not defined your eQSL.cc credentials!' );  redirect ( 'eqsl/import' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 22:51:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> load -> model ( 'stations' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 23:03:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$active_station_id  =  $this -> stations -> find_active (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        	$station_profile  =  $this -> stations -> profile ( $active_station_id ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 22:51:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$active_station_info  =  $station_profile -> row (); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											// Query the logbook to determine when the last LoTW confirmation was
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$eqsl_last_qsl_date  =  $this -> logbook_model -> eqsl_last_qsl_rcvd_date (); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-18 22:22:42 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-09-09 23:55:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											// Build parameters for eQSL inbox file
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$eqsl_params  =  http_build_query ( array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'UserName'  =>  $data [ 'user_eqsl_name' ], 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'Password'  =>  $data [ 'user_eqsl_password' ], 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'RcvdSince'  =>  $eqsl_last_qsl_date , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'QTHNickname'  =>  $active_station_info -> eqslqthnickname , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'ConfirmedOnly'  =>  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											)); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											//echo "<br><br>".$eqsl_url."<br>".$eqsl_params."<br><br>";
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 			// At this point, what we get isn't the ADI file we need, but rather
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// an HTML page, which contains a link to the generated ADI file that we want.
 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											// Adapted from Original PHP code by Chirp Internet: www.chirp.com.au (regex)
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											// Let's use cURL instead of file_get_contents
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// begin script
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$ch  =  curl_init ();  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// basic curl options for all requests
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											curl_setopt ( $ch ,  CURLOPT_RETURNTRANSFER ,  1 );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											curl_setopt ( $ch ,  CURLOPT_HEADER ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
									
										
										
										
											2021-09-09 23:55:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											// use the URL and params we built
 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											curl_setopt ( $ch ,  CURLOPT_URL ,  $eqsl_url ); 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-09 23:55:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											curl_setopt ( $ch ,  CURLOPT_POST ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											curl_setopt ( $ch ,  CURLOPT_POSTFIELDS ,  $eqsl_params ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$input  =  curl_exec ( $ch );   
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$chi  =  curl_getinfo ( $ch ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 			// "You have no log entries" -> Nothing else to do here
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 			// "Your ADIF log file has been built" -> We've got an ADIF file we need to grab.
 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-31 22:54:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 			
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 			if  ( $chi [ 'http_code' ]  ==  " 200 " ) 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 16:22:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( stristr ( $input ,  " You have no log entries " )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$this -> session -> set_flashdata ( 'success' ,  'There are no QSLs waiting for download at eQSL.cc.' );  redirect ( 'eqsl/import' ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-26 16:22:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												else  if  ( stristr ( $input ,  " Error: No such Username/Password found " ))  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$this -> session -> set_flashdata ( 'warning' ,  'No such Username/Password found This could mean the wrong callsign or the wrong password, or the user does not exist.' );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													redirect ( 'eqsl/import' ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												else 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-04 03:15:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													if  ( stristr ( $input ,  " Your ADIF log file has been built " )) 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														// Get all the links on the page and grab the URL for the ADI file.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$regexp  =  " <a \ s[^>]*href=( \" ??)([^ \"  >]*?) \\ 1[^>]*>(.*)< \ /a> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														if ( preg_match_all ( " / $regexp /siU " ,  $input ,  $matches ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															foreach (  $matches [ 2 ]  as  $match  ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																// Look for the link that has the .adi file, and download it to $file
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																if  ( substr ( $match ,  - 4 ,  4 )  ==  " .adi " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-04 03:15:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
																	
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
																	file_put_contents ( $file ,  file_get_contents ( " http://eqsl.cc/qslcard/ "  .  $match )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	ini_set ( 'memory_limit' ,  '-1' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	$this -> loadFromFile ( $file ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-03 22:45:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  ( $chi [ 'http_code' ]  ==  " 500 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$this -> session -> set_flashdata ( 'warning' ,  'eQSL.cc is experiencing issues. Please try importing QSOs later.' );  redirect ( 'eqsl/import' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( $chi [ 'http_code' ]  ==  " 404 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$this -> session -> set_flashdata ( 'warning' ,  'It seems that the eQSL site has changed. Please open up an issue on GitHub.' );  redirect ( 'eqsl/import' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 			
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Close cURL handle
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											curl_close ( $ch ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
									
										
										
										
											2013-08-31 22:54:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  (  !  $this -> upload -> do_upload ()) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$data [ 'error' ]  =  $this -> upload -> display_errors (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-01-15 00:29:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$this -> load -> view ( 'interface_assets/header' ,  $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												$this -> load -> view ( 'eqsl/import' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-15 00:29:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$this -> load -> view ( 'interface_assets/footer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$data  =  array ( 'upload_data'  =>  $this -> upload -> data ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> loadFromFile ( './uploads/' . $data [ 'upload_data' ][ 'file_name' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  // end function
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:50:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									public  function  export ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Check if eQSL Nicknames have been defined
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> load -> model ( 'stations' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( $this -> stations -> are_eqsl_nicks_defined ()  ==  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												show_error ( 'eQSL Nicknames in Station Profiles arent defined' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												exit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-16 05:49:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 00:17:26 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										ini_set ( 'memory_limit' ,  '-1' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set_time_limit ( 0 ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> model ( 'logbook_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$data [ 'page_title' ]  =  " eQSL QSO Upload " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $this -> input -> post ( 'eqslexport' )  ==  " export " ) 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											// Get credentials for eQSL
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$query  =  $this -> user_model -> get_by_id ( $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    		$q  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    		$data [ 'user_eqsl_name' ]  =  $q -> user_eqsl_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$data [ 'user_eqsl_password' ]  =  $q -> user_eqsl_password ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Validate that eQSL credentials are not empty
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( $data [ 'user_eqsl_name' ]  ==  ''  ||  $data [ 'user_eqsl_password' ]  ==  '' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> session -> set_flashdata ( 'warning' ,  'You have not defined your eQSL.cc credentials!' );  redirect ( 'eqsl/import' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Grab the list of QSOs to send information about
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// perform an HTTP get on each one, and grab the status back
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$qslsnotsent  =  $this -> logbook_model -> eqsl_not_yet_sent (); 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$table  =  " <table> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$table  .=  " <tr class= \" titles \" > " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>Date</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td>Call</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td>Mode</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-01 01:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>Submode</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>Band</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>Result</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Build out the ADIF info string according to specs http://eqsl.cc/qslcard/ADIFContentSpecs.cfm
 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											foreach  ( $qslsnotsent -> result_array ()  as  $qsl ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$COL_QSO_DATE  =  date ( 'Ymd' , strtotime ( $qsl [ 'COL_TIME_ON' ])); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$COL_TIME_ON  =  date ( 'Hi' , strtotime ( $qsl [ 'COL_TIME_ON' ])); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												# Set up the single record file
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  =  " http://www.eqsl.cc/qslcard/importADIF.cfm? " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " ADIFData=CloudlogUpload%20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												/*  Handy  reference  of  escaping  chars 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													" < "  =  3 C 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													" > "  =  3 E 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													" : "  =  3 A 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													"   "  =  20 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													" _ "  =  5 F 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													" - "  =  2 D 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													" . "  =  2 E 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " ADIF%5FVER " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " 4 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " 1%2E00  " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " EQSL%5FUSER " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $data [ 'user_eqsl_name' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $data [ 'user_eqsl_name' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " EQSL%5FPSWD " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $data [ 'user_eqsl_password' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 03:38:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$adif  .=  urlencode ( $data [ 'user_eqsl_password' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " EOH " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												# Lay out the required fields
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " QSO%5FDATE " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " 8 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $COL_QSO_DATE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " TIME%5FON " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " 4 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $COL_TIME_ON ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " CALL " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $qsl [ 'COL_CALL' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $qsl [ 'COL_CALL' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " MODE " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $qsl [ 'COL_MODE' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $qsl [ 'COL_MODE' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
									
										
										
										
											2022-07-04 00:11:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if ( isset ( $qsl [ 'COL_SUBMODE' ]))  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-01 01:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " SUBMODE " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $qsl [ 'COL_SUBMODE' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $qsl [ 'COL_SUBMODE' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-04 00:11:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " BAND " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $qsl [ 'COL_BAND' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $qsl [ 'COL_BAND' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												# End all the required fields
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
									
										
										
										
											2016-01-26 23:43:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// adding RST_Sent
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " RST%5FSENT " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  strlen ( $qsl [ 'COL_RST_SENT' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  $qsl [ 'COL_RST_SENT' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-04-21 14:18:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												// adding prop mode if it isn't blank
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:35:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $qsl [ 'COL_PROP_MODE' ]){ 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-21 14:18:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3C " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-28 04:46:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " PROP%5FMODE " ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-21 14:18:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  strlen ( $qsl [ 'COL_PROP_MODE' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  $qsl [ 'COL_PROP_MODE' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												// adding sat name if it isn't blank
 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-30 00:45:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $qsl [ 'COL_SAT_NAME' ]  !=  '' ){ 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3C " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-28 04:46:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " SAT%5FNAME " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  strlen ( $qsl [ 'COL_SAT_NAME' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3E " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-30 00:45:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  str_replace ( '-' ,  '%2D' ,  $qsl [ 'COL_SAT_NAME' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// adding sat mode if it isn't blank
 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-30 00:45:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $qsl [ 'COL_SAT_MODE' ]  !=  '' ){ 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3C " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-28 04:46:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " SAT%5FMODE " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  strlen ( $qsl [ 'COL_SAT_MODE' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  $qsl [ 'COL_SAT_MODE' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-17 03:22:40 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												// adding qslmsg if it isn't blank
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  ( $qsl [ 'COL_QSLMSG' ]  !=  '' ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " QSLMSG " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  strlen ( $qsl [ 'COL_QSLMSG' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  $qsl [ 'COL_QSLMSG' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-10-30 00:45:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $qsl [ 'eqslqthnickname' ]  !=  '' ){ 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3C " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-28 04:46:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " APP%5FEQSL%5FQTH%5FNICKNAME " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  strlen ( $qsl [ 'eqslqthnickname' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  $qsl [ 'eqslqthnickname' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// adding sat mode if it isn't blank
 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-30 00:45:09 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $qsl [ 'station_gridsquare' ]  !=  '' ){ 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3C " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-28 04:46:57 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " MY%5FGRIDSQUARE " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $adif  .=  " %3A " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  strlen ( $qsl [ 'station_gridsquare' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  $qsl [ 'station_gridsquare' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $adif  .=  " %20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:32:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												# Tie a bow on it!
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3C " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " EOR " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  .=  " %3E " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												# Make sure we don't have any spaces
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$adif  =  str_replace ( "   " ,  '%20' ,  $adif ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
									
										
										
										
											2020-12-11 01:04:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$status  =  " " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// begin script
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$ch  =  curl_init ();  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// basic curl options for all requests
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												curl_setopt ( $ch ,  CURLOPT_RETURNTRANSFER ,  1 );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												curl_setopt ( $ch ,  CURLOPT_HEADER ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// use the URL we built
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												curl_setopt ( $ch ,  CURLOPT_URL ,  $adif ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$result  =  curl_exec ( $ch );   
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$chi  =  curl_getinfo ( $ch ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												curl_close ( $ch ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												/*  Time  for  some  error  handling 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												   Things  we  might  get  back 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												   Result :  0  out  of  0  records  added  ->  eQSL  didn ' t  understand  the  format 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												   Result :  1  out  of  1  records  added  ->  Fantastic 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												   Error :  No  match  on  eQSL_User / eQSL_Pswd  ->  eQSL  credentials  probably  wrong 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												   Warning :  Y = 2013  M = 08  D = 11  F6ARS  15 M  JT65  Bad  record :  Duplicate 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												   Result :  0  out  of  1  records  added  ->  Dupe ,  OM ! 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  ( $chi [ 'http_code' ]  ==  " 200 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( stristr ( $result ,  " Result: 1 out of 1 records added " )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$status  =  " Sent " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$this -> logbook_model -> eqsl_mark_sent ( $qsl [ 'COL_PRIMARY_KEY' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														if  ( stristr ( $result ,  " Error: No match on eQSL_User/eQSL_Pswd " )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$this -> session -> set_flashdata ( 'warning' ,  'Your eQSL username and/or password is incorrect.' );  redirect ( 'eqsl/export' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															if  ( stristr ( $result ,  " Result: 0 out of 0 records added " )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																$this -> session -> set_flashdata ( 'warning' ,  'Something went wrong with eQSL.cc!' );  redirect ( 'eqsl/export' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																if  ( stristr ( $result ,  " Bad record: Duplicate " )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	$status  =  " Duplicate " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	# Mark the QSL as sent if this is a dupe.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																	$this -> logbook_model -> eqsl_mark_sent ( $qsl [ 'COL_PRIMARY_KEY' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( $chi [ 'http_code' ]  ==  " 500 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$this -> session -> set_flashdata ( 'warning' ,  'eQSL.cc is experiencing issues. Please try exporting QSOs later.' );  redirect ( 'eqsl/export' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														if  ( $chi [ 'http_code' ]  ==  " 400 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$this -> session -> set_flashdata ( 'warning' ,  'There was an error in one of the QSOs. You might want to manually upload them.' );  redirect ( 'eqsl/export' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$status  =  " Error " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															if  ( $chi [ 'http_code' ]  ==  " 404 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
																$this -> session -> set_flashdata ( 'warning' ,  'It seems that the eQSL site has changed. Please open up an issue on GitHub.' );  redirect ( 'eqsl/export' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'COL_TIME_ON' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-25 21:28:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . str_replace ( " 0 " , " Ø " , $qsl [ 'COL_CALL' ]) . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'COL_MODE' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-04 00:11:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														if ( isset ( $qsl [ 'COL_SUBMODE' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$table  .=  " <td> " . $qsl [ 'COL_SUBMODE' ] . " </td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$table  .=  " <td></td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'COL_BAND' ] . " </td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td> " . $status . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-27 00:41:56 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$table  .=  " </table> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Dump out a table with the results
 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-02 23:29:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$data [ 'eqsl_results_table' ]  =  $table ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-02 23:20:31 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											log_message ( 'debug' ,  $result ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$qslsnotsent  =  $this -> logbook_model -> eqsl_not_yet_sent (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( $qslsnotsent -> num_rows ()  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$table  =  " <table width= \" 100% \" > " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													$table  .=  " <tr class= \" titles \" > " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td>Date</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td>Call</td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td>Mode</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-01 01:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>Submode</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>Band</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td>eQSL QTH Nickname</td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												foreach  ( $qslsnotsent -> result_array ()  as  $qsl ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'COL_TIME_ON' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-11 19:06:15 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td><a href= \" javascript:displayQso( "  .  $qsl [ 'COL_PRIMARY_KEY' ]  .  " ) \" > "  .  str_replace ( " 0 " , " Ø " , strtoupper ( $qsl [ 'COL_CALL' ]))  .  " </a></td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'COL_MODE' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-07-04 00:11:58 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														if ( isset ( $qsl [ 'COL_SUBMODE' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$table  .=  " <td> " . $qsl [ 'COL_SUBMODE' ] . " </td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															$table  .=  " <td></td> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														} 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'COL_BAND' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-04 18:32:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														$table  .=  " <td> " . $qsl [ 'eqslqthnickname' ] . " </td> " ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													$table  .=  " <tr> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$table  .=  " </table> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$data [ 'eqsl_table' ]  =  $table ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
									
										
										
										
											2019-01-15 00:29:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> view ( 'interface_assets/header' ,  $data ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-09 04:30:24 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> view ( 'eqsl/export' ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-01-15 00:29:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> view ( 'interface_assets/footer' ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 00:59:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-09-13 21:27:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  image ( $id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 03:18:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> library ( 'electronicqsl' ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> model ( 'Eqsl_images' ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 00:59:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( $this -> Eqsl_images -> get_image ( $id )  ==  " No Image " )  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-13 21:27:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$this -> load -> model ( 'logbook_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$qso_query  =  $this -> logbook_model -> get_qso ( $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$qso  =  $qso_query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$qso_timestamp  =  strtotime ( $qso -> COL_TIME_ON ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$callsign  =  $qso -> COL_CALL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$band  =  $qso -> COL_BAND ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$mode  =  $qso -> COL_MODE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$year  =  date ( 'Y' ,  $qso_timestamp ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$month  =  date ( 'm' ,  $qso_timestamp ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$day  =  date ( 'd' ,  $qso_timestamp ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$hour  =  date ( 'H' ,  $qso_timestamp ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$minute  =  date ( 'i' ,  $qso_timestamp ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$query  =  $this -> user_model -> get_by_id ( $this -> session -> userdata ( 'user_id' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  =  $query -> row (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$username  =  $q -> user_eqsl_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$password  =  $q -> user_eqsl_password ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 00:59:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-27 03:38:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$image_url  =  $this -> electronicqsl -> card_image ( $username ,  urlencode ( $password ),  $callsign ,  $band ,  $mode ,  $year ,  $month ,  $day ,  $hour ,  $minute ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$file  =  file_get_contents ( $image_url ,  true ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 00:59:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$dom  =  new  domDocument ;  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$dom -> loadHTML ( $file );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$dom -> preserveWhiteSpace  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$images  =  $dom -> getElementsByTagName ( 'img' ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 00:59:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-11-08 05:58:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( ! isset ( $images )  ||  count ( $images )  ==  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 03:36:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												echo  " Rate Limited " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:45:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												exit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											foreach  ( $images  as  $image )  
							 
						 
					
						
							
								
									
										
										
										
											2021-09-13 21:27:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												header ( 'Content-Type: image/jpg' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$content  =  file_get_contents ( " https://www.eqsl.cc " . $image -> getAttribute ( 'src' )); 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-08 05:58:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $content  ===  false )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													echo  " No response " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													exit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												echo  $content ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-13 21:27:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$filename  =  uniqid () . '.jpg' ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-08 05:58:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( file_put_contents ( 'images/eqsl_card_images/'  .  '/' . $filename ,  $content )  !==  false )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$this -> Eqsl_images -> save_image ( $id ,  $filename ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 02:08:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											header ( 'Content-Type: image/jpg' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$image_url  =  base_url ( 'images/eqsl_card_images/' . $this -> Eqsl_images -> get_image ( $id )); 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-08 05:58:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											header ( 'Location: '  .  $image_url ); 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-02 00:59:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-04 00:06:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  tools ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Check logged in
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> model ( 'user_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( ! $this -> user_model -> authorize ( 2 ))  {  $this -> session -> set_flashdata ( 'notice' ,  'You\'re not allowed to do that!' );  redirect ( 'dashboard' );  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$data [ 'page_title' ]  =  " eQSL Tools " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Load frontend
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> view ( 'interface_assets/header' ,  $data ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> view ( 'eqsl/tools' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> view ( 'interface_assets/footer' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  mark_all_sent ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Check logged in
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> model ( 'user_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( ! $this -> user_model -> authorize ( 2 ))  {  $this -> session -> set_flashdata ( 'notice' ,  'You\'re not allowed to do that!' );  redirect ( 'dashboard' );  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// mark all eqsls as sent
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> load -> model ( 'eqslmethods_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> eqslmethods_model -> mark_all_as_sent (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> session -> set_flashdata ( 'success' ,  'All eQSLs Marked as Uploaded' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										redirect ( 'eqsl/tools' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2013-08-26 02:45:09 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
									
										
										
										
											2016-01-26 23:43:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  // end class