Merge branch 'master' of github.com:jonatkins/ingress-intel-total-conversion
This commit is contained in:
commit
063bb73b99
@ -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]+'<small>'+match[2]+'</small>';
|
||||
} 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)
|
||||
|
||||
}
|
||||
|
||||
if (!result.localVersion) {
|
||||
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 = '<a href="'+result.webUrl+'" title="Web page" target="_blank">web</a> '
|
||||
+ '<a href="'+result.downloadUrl+'" title="Install" target="_blank">install</a>';
|
||||
}
|
||||
|
||||
if (!result.localVersion) {
|
||||
result.html = '<span class="help" title="Your version unknown\nLatest version '+webVerHTML+'">version check failed</span> '+webLinkInstallHTML;
|
||||
} else if (!result.webVersion) {
|
||||
result.html = '<span class="help" title="Your version '+localVerHTML+'\nNo version from update check server">version check failed</span>';
|
||||
} else if (result.upToDate) {
|
||||
result.html = '<span class="help" title="Version '+localVerHTML+'">up to date</span>';
|
||||
} else if (result.outOfDate) {
|
||||
result.html = '<span class="help" title="Your version '+localVerHTML+'\nLatest version '+webVerHTML+'">out of date</span> '+webLinkInstallHTML;
|
||||
} else if (result.localNewer) {
|
||||
result.html = localVerHTML+' is newer than '+webVerHTML+'(?!)';
|
||||
} else {
|
||||
console.warn ('Unknown case of version combinations!');
|
||||
result.html = '<span class="help" title="Your version '+localVerHTML+'\nLatest version '+webVerHTML+'">version check failed(!?)</span>';
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -111,7 +133,7 @@ window.plugin.updateCheck.compareDetails = function(web_version, script_version)
|
||||
|
||||
|
||||
window.plugin.updateCheck.showReport = function(data) {
|
||||
var result = '<b>WORK IN PROGRESS - NOT YET FUNCTIONAL</b>';
|
||||
var result = '<b>WORK IN PROGRESS</b>';
|
||||
|
||||
if (data.error) {
|
||||
result += '<div><b>Error checking for updates</b><br>'+data.error+'</div>';
|
||||
@ -121,10 +143,8 @@ window.plugin.updateCheck.showReport = function(data) {
|
||||
}
|
||||
|
||||
if (data.iitc && window.script_info) {
|
||||
|
||||
var compare = window.plugin.updateCheck.compareDetails(data.iitc, window.script_info);
|
||||
|
||||
result += '<div>IITC Main script: '+JSON.stringify(compare)+'</div>';
|
||||
result += '<div>IITC Main script: '+compare.html+'</div>';
|
||||
|
||||
} else {
|
||||
if (!data.iitc) {
|
||||
@ -135,11 +155,38 @@ window.plugin.updateCheck.showReport = function(data) {
|
||||
}
|
||||
}
|
||||
|
||||
if (data.plugins && window.bootPlugins) {
|
||||
result += '<div>Plugins:<ul>';
|
||||
|
||||
if (window.bootPlugins.length == 0) {
|
||||
result += '<li>No plugins installed</li>';
|
||||
} else {
|
||||
for (var i=0; i<window.bootPlugins.length; i++) {
|
||||
var info = window.bootPlugins[i].info;
|
||||
var name = info.script && info.script.name || info.pluginId || ('(unknown plugin index '+i+')');
|
||||
name = name.replace ( /^IITC plugin: /i, '' );
|
||||
if (info && info.pluginId) {
|
||||
|
||||
var webinfo = data.plugins[info.pluginId];
|
||||
if (webinfo) {
|
||||
var compare = window.plugin.updateCheck.compareDetails(webinfo,info);
|
||||
result += '<li>'+name+': '+compare.html+'</li>';
|
||||
} else {
|
||||
result += '<li>'+name+': no version data on server(!?)</li>';
|
||||
}
|
||||
} else {
|
||||
result += '<li>'+name+': non-standard plugin - cannot check version</li>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result += '</ul></div>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dialog({
|
||||
width: 500,
|
||||
width: 700,
|
||||
title: 'Update check',
|
||||
html: result
|
||||
});
|
||||
|
@ -82,7 +82,6 @@ else
|
||||
|
||||
|
||||
$data = json_encode ( $response );
|
||||
$data = indent($data);
|
||||
|
||||
|
||||
# send the response - allow either jsonp (using a 'callback' parameter), or regular json
|
||||
@ -106,63 +105,3 @@ else
|
||||
}
|
||||
|
||||
|
||||
// http://www.daveperrett.com/articles/2008/03/11/format-json-with-php/
|
||||
/**
|
||||
* Indents a flat JSON string to make it more human-readable.
|
||||
*
|
||||
* @param string $json The original JSON string to process.
|
||||
*
|
||||
* @return string Indented version of the original JSON string.
|
||||
*/
|
||||
function indent($json) {
|
||||
|
||||
$result = '';
|
||||
$pos = 0;
|
||||
$strLen = strlen($json);
|
||||
$indentStr = ' ';
|
||||
$newLine = "\n";
|
||||
$prevChar = '';
|
||||
$outOfQuotes = true;
|
||||
|
||||
for ($i=0; $i<=$strLen; $i++) {
|
||||
|
||||
// Grab the next character in the string.
|
||||
$char = substr($json, $i, 1);
|
||||
|
||||
// Are we inside a quoted string?
|
||||
if ($char == '"' && $prevChar != '\\') {
|
||||
$outOfQuotes = !$outOfQuotes;
|
||||
|
||||
// If this character is the end of an element,
|
||||
// output a new line and indent the next line.
|
||||
} else if(($char == '}' || $char == ']') && $outOfQuotes) {
|
||||
$result .= $newLine;
|
||||
$pos --;
|
||||
for ($j=0; $j<$pos; $j++) {
|
||||
$result .= $indentStr;
|
||||
}
|
||||
}
|
||||
|
||||
// Add the character to the result string.
|
||||
$result .= $char;
|
||||
|
||||
// If the last character was the beginning of an element,
|
||||
// output a new line and indent the next line.
|
||||
if (($char == ',' || $char == '{' || $char == '[') && $outOfQuotes) {
|
||||
$result .= $newLine;
|
||||
if ($char == '{' || $char == '[') {
|
||||
$pos ++;
|
||||
}
|
||||
|
||||
for ($j = 0; $j < $pos; $j++) {
|
||||
$result .= $indentStr;
|
||||
}
|
||||
}
|
||||
|
||||
$prevChar = $char;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
?>
|
||||
|
Loading…
x
Reference in New Issue
Block a user