There are 4 previous versions of this script.
// ==UserScript==
// @name 4travian
// @namespace 4travian
// @description 4travian.org battle report logger
// @include http://*.travian*.*/berichte.php?id=*
// ==/UserScript==
var save_rep = {'en':'Save Report', 'es':'Guardar informe', 'ru':'Сохранить отчет', 'ua':'Створити звіт','de':'Bericht Speichern','ir':'ذخیره گزارش','se':'Spara rapport'};
var anonymous = {'en':'Anonymous', 'es':'Anonimo', 'ru':'Анонимно', 'ua':'Анонімно', 'de':'Anonym', 'ir':'بدون نام','se':'Anonym'};
var hide_def = {'en':'Hide def', 'es':'Ocultar def', 'ru':'Скрыть деф', 'ua':'Сховати деф', 'de':'Ausblenden Verteidiger', 'ir':'پنهان سازی مدافع','se':'Dölj def'};
var server = location.hostname;
try {
var ext = document.getElementById('lplus1').src.match(/.*img\/(\w+)\/a\//)[1];
} catch(e) {
var ext = server.substring(server.lastIndexOf('.')+1);
if (ext == 'com') {
var ext1 = server.substr(0,2);
if (ext1 == 'rs') ext = ext1;
}
}
var lang_tr = ext;
if (!save_rep[ext]) lang_tr = 'en';
var gv='';
var rep_div = document.getElementById('lmid2');
if (!rep_div) {
rep_div = document.getElementById('content');
gv='3.5';
}
var rep_table = $tags('table',rep_div)[0];
var rep = xhtml(rep_table);
var logme_div = $elem("div", "", {
"align": "right"
}, {});
var logme_form = $elem("form", "", {
'action': 'http://4travian.org/post.php',
'method': 'post',
'target': '_blank',
'style': 'margin-top:10px'
}, {}, logme_div);
var in_html =
'<input type="hidden" name="version" value="1.0"/>' +
'<input type="hidden" name="gv" value="'+gv+'"/>' +
'<input type="hidden" name="lang" value="'+ext+'"/>' +
'<input type="hidden" name="server" value="'+server+'"/>' +
'<input type="checkbox" name="anonymous"/>' + anonymous[lang_tr] + ' ' +
'<input type="checkbox" name="hide_def"/>' + hide_def[lang_tr] + ' ' +
'<input type="submit" value="'+save_rep[lang_tr]+'"/>';
logme_form.innerHTML = in_html;
$elem("input", "", {
"type": "hidden",
"name": "rep",
"value": rep
}, {}, logme_form);
rep_div.appendChild(logme_div);
function xhtml(node) {
if (node.nodeType == 3) {
str = node.nodeValue;
} else {
var name = node.nodeName.toLowerCase();
if (name.indexOf('/') == -1) {
str = '<'+name;
if (node.attributes) {
for (var i=0;i<node.attributes.length;i++) {
var attrName = node.attributes[i].name;
var value = node.attributes[i].value;
if (attrName == 'src' || attrName == 'class' || attrName == 'href') {
str+=' ' + attrName + '="' +value.replace(/&/g,'&') +'"';
}
}
}
str+='>';
if (node.childNodes) {
for (var j=0;j<node.childNodes.length;j++) {
str += xhtml(node.childNodes[j]);
}
}
str+= '</'+name+'>';
} else {
str = '';
}
}
return str;
}
function $tags(tag, doc) {
if(!doc)
var doc = document;
return doc.getElementsByTagName(tag);
}
function $elem(tag, content, attributes, style, parent) {
var ret = document.createElement(tag);
if (content)
ret.innerHTML = content;
if (attributes)
for (a in attributes)
ret.setAttribute(a, attributes[a]);
if (style)
for (a in style)
ret.style[a] = style[a];
if (parent)
{
parent = (typeof(parent) == 'string') ? get(parent) : parent;
parent.appendChild(ret);
}
return ret;
}