NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name vesmir.php
// @namespace http://stargate-dm.cz/
// @version 0.1
// @description Utils for vesmir.php
// @author on/off
// @match http://stargate-dm.cz/vesmir.php*
// @match http://sgwg.net/vesmir.php*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @grant none
// @license AGPL-3.0-or-later; http://www.gnu.org/licenses/agpl-3.0.txt
// ==/UserScript==
(function() {
'use strict';
function my_tools() {
this.xpath = function(query, object, qt) {
if( !object ) object = document;
var type = qt ? XPathResult.FIRST_ORDERED_NODE_TYPE: XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE;
var ret = document.evaluate(query, object, null, type, null);
return (qt ? ret.singleNodeValue : ret);
};
}
let tools = new my_tools();
var scriptNode = document.createElement ('script');
scriptNode.type = "text/javascript";
scriptNode.textContent = my_tools.toString() + 'let tools = new my_tools();';
addEventListener ("load", function() {
var targ = document.getElementsByTagName ('head')[0] || document.body || document.documentElement;
targ.appendChild (scriptNode);
var rows = tools.xpath('//*[@id="content-in"]/table/tbody/tr');
var sums = [ ];
var last_row;
for (var r = 0; r < rows.snapshotLength; ++r) {
var this_row = rows.snapshotItem(r);
var this_cell = this_row.firstElementChild;
var i = 0;
while (this_cell != undefined) {
console.log('text', i, this_cell.textContent);
var val = parseInt(this_cell.textContent.replace(/ /g,'').replace(/,/,'.'));
console.log('int', i, val);
if (!isNaN(val)) {
if (sums[i]) {
sums[i] += val;
} else {
sums[i] = val;
}
}
this_cell = this_cell.nextElementSibling;
++i;
}
last_row = this_row;
}
var sum_row = document.createElement('tr');
var c = 0;
$.each(sums, function (k, v) {
console.log(k, v);
if (c==0) {
sum_row.innerHTML += '<td>Celkem:</td>';
} else {
if (isNaN(v)) {
sum_row.innerHTML += '<td></td>';
} else {
sum_row.innerHTML += '<td>' +v.toFixed().replace(/(\d)(?=(\d{3})+(,|$))/g, '$1 ')+ '</td>';
}
}
last_row.parentNode.insertBefore(sum_row, null);
++c;
});
}, false);
})();