diff --git a/plugins/update-check.user.js b/plugins/update-check.user.js index 29ea1a3a..f58cc1f3 100644 --- a/plugins/update-check.user.js +++ b/plugins/update-check.user.js @@ -71,15 +71,19 @@ window.plugin.updateCheck.versionDataCallback = function(data) { s.parentNode.removeChild(s); } - dialog({ - text: JSON.stringify(data,null,2), - title: 'debug version check', - width: 700 - }); - window.plugin.updateCheck.showReport(data); } +window.plugin.updateCheck.versionHTML = function(ver) { + var re = new RegExp ('^([0-9]+\\.[0-9]+\\.[0-9]+)(\\.2[0-9][0-9][0-9][01][0-9][0123][0-9]\\.[0-9]+)$'); + var match = ver.match(re); + if (match) { + return match[1]+''+match[2]+''; + } else { + return ver; + } +} + window.plugin.updateCheck.compareDetails = function(web_version, script_version) { // compare the local script version data with the website version data // and return an object with the results @@ -101,9 +105,27 @@ window.plugin.updateCheck.compareDetails = function(web_version, script_version) } + var webVerHTML = result.webVersion && window.plugin.updateCheck.versionHTML(result.webVersion); + var localVerHTML = result.localVersion && window.plugin.updateCheck.versionHTML(result.localVersion); + var webLinkInstallHTML = ''; + if (result.downloadUrl && result.webUrl) { + webLinkInstallHTML = 'web ' + + 'install'; + } + if (!result.localVersion) { - + result.html = 'version check failed '+webLinkInstallHTML; } else if (!result.webVersion) { + result.html = 'version check failed'; + } else if (result.upToDate) { + result.html = 'up to date'; + } else if (result.outOfDate) { + result.html = 'out of date '+webLinkInstallHTML; + } else if (result.localNewer) { + result.html = localVerHTML+' is newer than '+webVerHTML+'(?!)'; + } else { + console.warn ('Unknown case of version combinations!'); + result.html = 'version check failed(!?)'; } return result; @@ -111,7 +133,7 @@ window.plugin.updateCheck.compareDetails = function(web_version, script_version) window.plugin.updateCheck.showReport = function(data) { - var result = 'WORK IN PROGRESS - NOT YET FUNCTIONAL'; + var result = 'WORK IN PROGRESS'; if (data.error) { result += '