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
这个提交包含在:
		
							父节点
							
								
									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')); | 		$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)) | 	if (isset($callbook)) | ||||||
|  |  | ||||||
|  | @ -79,6 +79,7 @@ class Hamqth { | ||||||
| 		$data['lat'] = (string) $xml->search->latitude; | 		$data['lat'] = (string) $xml->search->latitude; | ||||||
| 		$data['long'] = (string) $xml->search->longitude; | 		$data['long'] = (string) $xml->search->longitude; | ||||||
| 		$data['iota'] = (string) $xml->search->iota; | 		$data['iota'] = (string) $xml->search->iota; | ||||||
|  | 		$data['error'] = (string) $xml->session->error; | ||||||
| 
 | 
 | ||||||
| 		return $data; | 		return $data; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用