| 
									
										
										
										
											2012-11-14 01:02:43 +08:00
										 |  |  | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | 	Controls the interaction with the QRZ.com Subscription based XML API. | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Qrz { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Return session key
 | 
					
						
							|  |  |  | 	public function session($username, $password) { | 
					
						
							|  |  |  | 		// URL to the XML Source
 | 
					
						
							| 
									
										
										
										
											2021-05-10 23:59:51 +08:00
										 |  |  | 		$xml_feed_url = 'http://xmldata.qrz.com/xml/current/?username='.$username.';password='.urlencode($password).';agent=cloudlog'; | 
					
						
							| 
									
										
										
										
											2012-11-14 01:02:43 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		// CURL Functions
 | 
					
						
							|  |  |  | 		$ch = curl_init(); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_URL, $xml_feed_url); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_HEADER, false); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | 
					
						
							|  |  |  | 		$xml = curl_exec($ch); | 
					
						
							|  |  |  | 		curl_close($ch); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		// Create XML object
 | 
					
						
							|  |  |  | 		$xml = simplexml_load_string($xml); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		// Return Session Key
 | 
					
						
							|  |  |  | 		return (string) $xml->Session->Key; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	// Set Session Key session.
 | 
					
						
							|  |  |  | 	public function set_session($username, $password) { | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2012-11-14 09:16:17 +08:00
										 |  |  | 		$ci = & get_instance(); | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-11-14 01:02:43 +08:00
										 |  |  | 		// URL to the XML Source
 | 
					
						
							| 
									
										
										
										
											2021-05-10 23:59:51 +08:00
										 |  |  | 		$xml_feed_url = 'http://xmldata.qrz.com/xml/current/?username='.$username.';password='.urlencode($password).';agent=cloudlog'; | 
					
						
							| 
									
										
										
										
											2012-11-14 01:02:43 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		// CURL Functions
 | 
					
						
							|  |  |  | 		$ch = curl_init(); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_URL, $xml_feed_url); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_HEADER, false); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | 
					
						
							|  |  |  | 		$xml = curl_exec($ch); | 
					
						
							|  |  |  | 		curl_close($ch); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		// Create XML object
 | 
					
						
							|  |  |  | 		$xml = simplexml_load_string($xml); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$key = (string) $xml->Session->Key; | 
					
						
							| 
									
										
										
										
											2012-11-14 09:16:17 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 		$ci->session->set_userdata('qrz_session_key', $key); | 
					
						
							| 
									
										
										
										
											2012-11-14 01:02:43 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		return true; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function search($callsign, $key) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// URL to the XML Source
 | 
					
						
							|  |  |  | 		$xml_feed_url = 'http://xmldata.qrz.com/xml/current/?s='.$key.';callsign='.$callsign.''; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		// CURL Functions
 | 
					
						
							|  |  |  | 		$ch = curl_init(); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_URL, $xml_feed_url); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_HEADER, false); | 
					
						
							|  |  |  | 		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | 
					
						
							|  |  |  | 		$xml = curl_exec($ch); | 
					
						
							|  |  |  | 		curl_close($ch); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		// Create XML object
 | 
					
						
							|  |  |  | 		$xml = simplexml_load_string($xml); | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		// Return Required Fields
 | 
					
						
							|  |  |  | 		$data['callsign'] = (string) $xml->Callsign->call; | 
					
						
							|  |  |  | 		$data['name'] = (string) $xml->Callsign->fname; | 
					
						
							|  |  |  | 		$data['gridsquare'] = (string) $xml->Callsign->grid;	 | 
					
						
							|  |  |  | 		$data['city'] = (string) $xml->Callsign->addr2; | 
					
						
							|  |  |  | 		$data['lat'] = (string) $xml->Callsign->lat; | 
					
						
							|  |  |  | 		$data['long'] = (string) $xml->Callsign->lon; | 
					
						
							|  |  |  | 		$data['iota'] = (string) $xml->Callsign->iota; | 
					
						
							| 
									
										
										
										
											2019-06-17 00:49:39 +08:00
										 |  |  | 		$data['qslmgr'] = (string) $xml->Callsign->qslmgr; | 
					
						
							| 
									
										
										
										
											2020-03-08 00:36:21 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		if($xml->Callsign->country == "United States") { | 
					
						
							|  |  |  | 			$data['state'] = (string) $xml->Callsign->state; | 
					
						
							| 
									
										
										
										
											2020-03-08 00:46:31 +08:00
										 |  |  | 			$data['us_county'] = (string) $xml->Callsign->county; | 
					
						
							| 
									
										
										
										
											2020-03-08 00:36:21 +08:00
										 |  |  | 		} else { | 
					
						
							|  |  |  | 			$data['state'] = null;  | 
					
						
							| 
									
										
										
										
											2020-03-08 00:46:31 +08:00
										 |  |  | 			$data['us_county'] = null;  | 
					
						
							| 
									
										
										
										
											2020-03-08 00:36:21 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 09:16:17 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-11-14 01:02:43 +08:00
										 |  |  | 		return $data; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |