Rename getaddresstxsajax api to getaddresstxs + fixes
-getaddresstxs api no longer allows query string parameters -Removed unnecessary data from getaddresstxs api -Removed unused functions fixDatatableQuerystring + removeURLParameter from layout.pug
This commit is contained in:
@@ -232,7 +232,7 @@ app.use('/ext/getlasttxs/:min', function(req, res) {
|
||||
length = settings.index.last_txs;
|
||||
if (typeof start === 'undefined' || isNaN(start) || start < 0)
|
||||
start = 0;
|
||||
if (typeof min === 'undefined' || isNaN(min ) || min < 0)
|
||||
if (typeof min === 'undefined' || isNaN(min) || min < 0)
|
||||
min = 0;
|
||||
else
|
||||
min = (min * 100000000);
|
||||
@@ -242,45 +242,48 @@ app.use('/ext/getlasttxs/:min', function(req, res) {
|
||||
});
|
||||
});
|
||||
|
||||
app.use('/ext/getaddresstxsajax/:address', function(req,res){
|
||||
req.query.length = parseInt(req.query.length);
|
||||
if(isNaN(req.query.length) || req.query.length > settings.txcount){
|
||||
req.query.length = settings.txcount;
|
||||
app.use('/ext/getaddresstxs/:address/:start/:length', function(req,res) {
|
||||
// fix parameters
|
||||
if (typeof req.params.length === 'undefined' || isNaN(req.params.length) || req.params.length > settings.txcount)
|
||||
req.params.length = settings.txcount;
|
||||
if (typeof req.params.start === 'undefined' || isNaN(req.params.start) || req.params.start < 0)
|
||||
req.params.start = 0;
|
||||
if (typeof req.params.min === 'undefined' || isNaN(req.params.min) || req.params.min < 0)
|
||||
req.params.min = 0;
|
||||
else
|
||||
req.params.min = (req.params.min * 100000000);
|
||||
|
||||
db.get_address_txs_ajax(req.params.address, req.params.start, req.params.length, function(txs, count) {
|
||||
var data = [];
|
||||
for (i = 0; i < txs.length; i++) {
|
||||
if (typeof txs[i].txid !== "undefined") {
|
||||
var out = 0;
|
||||
var vin = 0;
|
||||
|
||||
txs[i].vout.forEach(function(r) {
|
||||
if (r.addresses == req.params.address) {
|
||||
out += r.amount;
|
||||
}
|
||||
});
|
||||
|
||||
txs[i].vin.forEach(function(s) {
|
||||
if (s.addresses == req.params.address) {
|
||||
vin += s.amount;
|
||||
}
|
||||
});
|
||||
|
||||
var row = [];
|
||||
row.push(new Date((txs[i].timestamp) * 1000).toUTCString());
|
||||
row.push(txs[i].txid);
|
||||
row.push(out);
|
||||
row.push(vin);
|
||||
row.push(txs[i].balance);
|
||||
data.push(row);
|
||||
}
|
||||
}
|
||||
if(isNaN(req.query.start) || req.query.start < 0){
|
||||
req.query.start = 0;
|
||||
}
|
||||
db.get_address_txs_ajax(req.params.address, req.query.start, req.query.length,function(txs, count){
|
||||
var data = [];
|
||||
for(i=0; i<txs.length; i++){
|
||||
if(typeof txs[i].txid !== "undefined") {
|
||||
var out = 0
|
||||
var vin = 0
|
||||
|
||||
txs[i].vout.forEach(function (r) {
|
||||
if (r.addresses == req.params.address) {
|
||||
out += r.amount;
|
||||
}
|
||||
});
|
||||
|
||||
txs[i].vin.forEach(function (s) {
|
||||
if (s.addresses == req.params.address) {
|
||||
vin += s.amount
|
||||
}
|
||||
});
|
||||
|
||||
var row = [];
|
||||
row.push(new Date((txs[i].timestamp) * 1000).toUTCString());
|
||||
row.push(txs[i].txid);
|
||||
row.push(out);
|
||||
row.push(vin);
|
||||
row.push(txs[i].balance);
|
||||
data.push(row);
|
||||
}
|
||||
}
|
||||
|
||||
res.json({"data":data, "draw": req.query.draw, "recordsTotal": count, "recordsFiltered": count});
|
||||
});
|
||||
res.json({"data":data, "recordsTotal": count, "recordsFiltered": count});
|
||||
});
|
||||
});
|
||||
|
||||
app.post('/address/:hash/claim', function(req, res){
|
||||
|
||||
@@ -27,9 +27,9 @@ script.
|
||||
iDisplayLength: displayLengthMax,
|
||||
lengthMenu: lengthMenuOpts,
|
||||
ajax: {
|
||||
url: '/ext/getaddresstxsajax/' + hashAddress,
|
||||
url: '/ext/getaddresstxs/' + hashAddress,
|
||||
beforeSend: function(jqXHR, settings) {
|
||||
settings.url = fixDatatableQuerystring(settings.url, 4);
|
||||
settings.url = settings.url.substring(0, settings.url.indexOf('?')) + '/' + getParameterByName('start', settings.url) + '/' + getParameterByName('length', settings.url);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
@@ -36,64 +36,6 @@ html(lang='en')
|
||||
if (!results[2]) return '';
|
||||
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
||||
}
|
||||
/* Special thanks to bobince for the removeURLParameter function: https://stackoverflow.com/a/1634841/3038650 */
|
||||
function removeURLParameter(url, parameter) {
|
||||
//prefer to use l.search if you have a location/link object
|
||||
var urlparts = url.split('?');
|
||||
if (urlparts.length >= 2) {
|
||||
var prefix = encodeURIComponent(parameter) + '=';
|
||||
var pars = urlparts[1].split(/[&;]/g);
|
||||
|
||||
//reverse iteration as may be destructive
|
||||
for (var i = pars.length; i-- > 0;) {
|
||||
//idiom for string.startsWith
|
||||
if (pars[i].lastIndexOf(prefix, 0) !== -1)
|
||||
pars.splice(i, 1);
|
||||
}
|
||||
|
||||
return urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : '');
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
/* Remove unnecessary querystring values from ajax-enabled datatables */
|
||||
function fixDatatableQuerystring(url, columnCount) {
|
||||
for (i = 0; i < columnCount; i++) {
|
||||
if (url.indexOf('columns%5B' + i.toString() + '%5D') > -1) {
|
||||
for (z = 0; z < 5; z++) {
|
||||
var dataType;
|
||||
|
||||
switch (z) {
|
||||
case 0:
|
||||
dataType = 'data';
|
||||
break;
|
||||
case 1:
|
||||
dataType = 'name';
|
||||
break;
|
||||
case 2:
|
||||
dataType = 'searchable';
|
||||
break;
|
||||
case 3:
|
||||
dataType = 'orderable';
|
||||
break;
|
||||
case 4:
|
||||
dataType = 'search';
|
||||
url = removeURLParameter(url, 'columns[' + i.toString() + '][' + dataType + '][value]');
|
||||
break;
|
||||
}
|
||||
|
||||
url = removeURLParameter(url, 'columns[' + i.toString() + '][' + dataType + ']' + (dataType == 'search' ? '[regex]' : ''));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
url = removeURLParameter(url, 'draw');
|
||||
url = removeURLParameter(url, 'search[value]');
|
||||
url = removeURLParameter(url, 'search[regex]');
|
||||
url = removeURLParameter(url, '_');
|
||||
|
||||
return url;
|
||||
}
|
||||
$(document).ready(function() {
|
||||
function fixSocialLinkFontSize() {
|
||||
var fontSize = $('#footer-container').height() * (getSocialLinkHeight() / 100);
|
||||
|
||||
Reference in New Issue
Block a user