diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index 645f0b9..d8aa395 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -2356,6 +2356,28 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + HamZone.cn + + + + + + + + + + + +
+ Test +
+ + + N1MM Logger+ diff --git a/package.nw/i18n/cn-t.json b/package.nw/i18n/cn-t.json index 3bc2a9f..d0d5648 100644 --- a/package.nw/i18n/cn-t.json +++ b/package.nw/i18n/cn-t.json @@ -335,6 +335,9 @@ "settings.logging.LoTW.details.station": "台站位置", "settings.logging.LoTW.test.downloadButton": "測試下載", "settings.logging.LoTW.test.TQSLButton": "測試TQSL", + "settings.logging.HamZone.source": "HamZone.cn", + "settings.logging.HamZone.details.apiKey": "API密鑰", + "settings.logging.HamZone.test.button": "測試", "settings.logging.N1MM.source": "N1MM Logger+", "settings.logging.N1MM.details.IP": "IP地址", "settings.logging.N1MM.details.Port": "埠號", diff --git a/package.nw/i18n/cn.json b/package.nw/i18n/cn.json index de70eff..496a574 100644 --- a/package.nw/i18n/cn.json +++ b/package.nw/i18n/cn.json @@ -335,6 +335,9 @@ "settings.logging.LoTW.details.station": "台站位置", "settings.logging.LoTW.test.downloadButton": "测试下载", "settings.logging.LoTW.test.TQSLButton": "测试TQSL", + "settings.logging.HamZone.source": "HamZone.cn", + "settings.logging.HamZone.details.apiKey": "API密钥", + "settings.logging.HamZone.test.button": "测试", "settings.logging.N1MM.source": "N1MM Logger+", "settings.logging.N1MM.details.IP": "IP地址", "settings.logging.N1MM.details.Port": "端口", diff --git a/package.nw/i18n/en.json b/package.nw/i18n/en.json index 3c1d7c6..f1f1659 100644 --- a/package.nw/i18n/en.json +++ b/package.nw/i18n/en.json @@ -334,6 +334,9 @@ "settings.logging.LoTW.details.station": "Station Name", "settings.logging.LoTW.test.downloadButton":"Test Download", "settings.logging.LoTW.test.TQSLButton": "Test TQSL", + "settings.logging.HamZone.source": "HamZone.cn", + "settings.logging.HamZone.details.apiKey": "API Key", + "settings.logging.HamZone.test.button": "Test", "settings.logging.N1MM.source": "N1MM Logger+", "settings.logging.N1MM.details.IP": "IP", "settings.logging.N1MM.details.Port": "Port", diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index ed9a98e..63896b4 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -2170,6 +2170,15 @@ function finishSendingReport(record, localMode) addLastTraffic("Exception LoTW Log"); } + try + { + sendHamZoneEntry(report); + } + catch (e) + { + addLastTraffic("Exception HamZone Log"); + } + if ( logeQSLQSOCheckBox.checked == true && nicknameeQSLCheckBox.checked == true && @@ -2788,6 +2797,96 @@ function ClublogTest(test) } } +function HamZoneTest(test) +{ + if (test && test == true) + { + HamZoneTestResult.innerHTML = "Testing"; + + var postData = { key: HamZoneApiKey.value }; + getPostJSONBuffer( + "https://www.hamzone.cn/v1/logbook?from=gridtracker", + HamZoneSendResult, + test, + "https", + 443, + postData, + 10000, + HamZoneErrorCallback, + "Failed" + ); + } +} + +function HamZoneErrorCallback( + file_url, + callback, + flag, + mode, + port, + theData, + timeoutMs, + timeoutCallback, + message +) +{ + HamZoneTestResult.innerHTML = message; +} + +function HamZoneSendResult(buffer, flag) +{ + if (flag && flag == true) + { + if (buffer) + { + if (buffer.indexOf("Invalid") > -1) + { + HamZoneTestResult.innerHTML = "Invalid"; + } + else if (buffer.indexOf("Pass") > -1) + { + HamZoneTestResult.innerHTML = "Passed"; + } + else + { + HamZoneTestResult.innerHTML = "Unknown Error"; + } + } + else + { + HamZoneTestResult.innerHTML = "Resp Err"; + } + } +} + +function sendHamZoneEntry(report) +{ + if (g_mapSettings.offlineMode == true) return; + + if (logHamZoneqsoCheckBox.checked == true) + { + if (typeof nw != "undefined") + { + var postData = { + key: HamZoneApiKey.value, + app: "GridTracker " + gtVersion, + adif: report + }; + getPostBuffer( + "https://www.hamzone.cn/v1/logbook?from=gridtracker", + HamZoneSendResult, + null, + "https", + 443, + postData, + 30000, + postRetryErrorCallaback, + "HamZone.cn" + ); + } + } +} + function getPostJSONBuffer( file_url, callback, diff --git a/package.nw/lib/defaults.js b/package.nw/lib/defaults.js index eae0255..beeaf06 100644 --- a/package.nw/lib/defaults.js +++ b/package.nw/lib/defaults.js @@ -154,7 +154,8 @@ var def_adifLogSettings = { logHRDLOGqsoCheckBox: false, logClubqsoCheckBox: false, logCloudlogQSOCheckBox: false, - logeQSLQSOCheckBox: false + logeQSLQSOCheckBox: false, + logHamZoneqsoCheckBox: false }, nickname: { nicknameeQSLCheckBox: false @@ -175,7 +176,8 @@ var def_adifLogSettings = { CloudlogStationProfileID: "1", eQSLUser: "", eQSLPassword: "", - eQSLNickname: "" + eQSLNickname: "", + HamZoneApiKey: "" }, downloads: {}, lastFetch: {