Fix HamQTH session expiry

If HamQTH session has expired after 1 hour, start a new session and retry the search.

Checks against a new error field in the HamQTH library.

https://www.hamqth.com/developers.php
这个提交包含在:
Anthony Di Iorio 2020-03-03 22:37:16 -05:00
父节点 5e8ca71d59
当前提交 c2a2f65611
共有 2 个文件被更改,包括 8 次插入0 次删除

查看文件

@ -124,6 +124,13 @@ class Logbook extends CI_Controller {
}
$callbook = $this->hamqth->search($callsign, $this->session->userdata('hamqth_session_key'));
// If HamQTH session has expired, start a new session and retry the search.
if($callbook['error'] == "Session does not exist or expired") {
$hamqth_session_key = $this->hamqth->session($this->config->item('hamqth_username'), $this->config->item('hamqth_password'));
$this->session->set_userdata('hamqth_session_key', $hamqth_session_key);
$callbook = $this->hamqth->search($callsign, $this->session->userdata('hamqth_session_key'));
}
}
if (isset($callbook))

查看文件

@ -79,6 +79,7 @@ class Hamqth {
$data['lat'] = (string) $xml->search->latitude;
$data['long'] = (string) $xml->search->longitude;
$data['iota'] = (string) $xml->search->iota;
$data['error'] = (string) $xml->session->error;
return $data;
}