mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
Added exception handling when qrz or hamqth is not available/accessible.
This commit is contained in:
@@ -56,41 +56,44 @@ class Hamqth {
|
||||
|
||||
public function search($callsign, $key)
|
||||
{
|
||||
$data = null;
|
||||
try {
|
||||
// URL to the XML Source
|
||||
$xml_feed_url = 'https://www.hamqth.com/xml.php?id=' . $key . '&callsign=' . $callsign . '&prg=cloudlog';
|
||||
|
||||
// URL to the XML Source
|
||||
$xml_feed_url = 'https://www.hamqth.com/xml.php?id='.$key.'&callsign='.$callsign.'&prg=cloudlog';
|
||||
// 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);
|
||||
|
||||
// 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);
|
||||
if (empty($xml)) return;
|
||||
|
||||
// Create XML object
|
||||
$xml = simplexml_load_string($xml);
|
||||
// Return Required Fields
|
||||
$data['callsign'] = (string)$xml->search->callsign;
|
||||
$data['name'] = (string)$xml->search->nick;
|
||||
$data['gridsquare'] = (string)$xml->search->grid;
|
||||
$data['city'] = (string)$xml->search->adr_city;
|
||||
$data['lat'] = (string)$xml->search->latitude;
|
||||
$data['long'] = (string)$xml->search->longitude;
|
||||
$data['iota'] = (string)$xml->search->iota;
|
||||
$data['us_state'] = (string)$xml->search->us_state;
|
||||
$data['us_county'] = (string)$xml->search->us_county;
|
||||
$data['error'] = (string)$xml->session->error;
|
||||
|
||||
// Return Required Fields
|
||||
$data['callsign'] = (string) $xml->search->callsign;
|
||||
$data['name'] = (string) $xml->search->nick;
|
||||
$data['gridsquare'] = (string) $xml->search->grid;
|
||||
$data['city'] = (string) $xml->search->adr_city;
|
||||
$data['lat'] = (string) $xml->search->latitude;
|
||||
$data['long'] = (string) $xml->search->longitude;
|
||||
$data['iota'] = (string) $xml->search->iota;
|
||||
$data['us_state'] = (string) $xml->search->us_state;
|
||||
$data['us_county'] = (string) $xml->search->us_county;
|
||||
$data['error'] = (string) $xml->session->error;
|
||||
|
||||
if($xml->search->country == "United States") {
|
||||
$data['state'] = (string) $xml->search->us_state;
|
||||
$data['us_county'] = (string) $xml->search->us_county;
|
||||
} else {
|
||||
$data['state'] = null;
|
||||
$data['us_county'] = null;
|
||||
}
|
||||
|
||||
return $data;
|
||||
if ($xml->search->country == "United States") {
|
||||
$data['state'] = (string)$xml->search->us_state;
|
||||
$data['us_county'] = (string)$xml->search->us_county;
|
||||
} else {
|
||||
$data['state'] = null;
|
||||
$data['us_county'] = null;
|
||||
}
|
||||
} finally {
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user