There are 4 previous versions of this script.
// ==UserScript==
// @name UserNumbers
// @namespace http://leprosorium.ru/*
// @description show user numbers
// @include http://*leprosorium.ru/comments/*
// @include http://*leprosorium.ru/*
// @include http://*leprosorium.ru/users/*
// ==/UserScript==
// Autor: Din
appendUserNumbers();
appendUserNumbersMain();
appendProfileUserNumber();
document.addEventListener("DOMNodeInserted", function(eventObject)
{
if (eventObject.relatedNode.nodeName == "DIV" && eventObject.relatedNode.lastChild.className && eventObject.relatedNode.lastChild.className.match(/post/))
appendUserNumbersMain(eventObject.relatedNode.lastChild);
}, false);
/*
General function to append user number below comment itself
*/
function appendUserNumbers()
{
//Getting all comments from page
var comments = document.getElementById("js-commentsHolder");
if (comments == null)
{
return;
}
comments = comments.getElementsByClassName("post");
//Adding user number
for (var i = 0; i < comments.length; i++)
{
if (comments[i].getAttribute("used") != "true")
{
//User number
var number = comments[i].className.match(/u([0-9]+)/)[1];
//Creating new node
var numberElement = document.createElement("span");
numberElement.innerHTML = " | " + number.toString() + " ";
//Appending to the lower line of comment
var insertionNode = comments[i].getElementsByClassName("reply_link").item(0).parentNode;
insertionNode.parentNode.insertBefore(numberElement, insertionNode);
comments[i].setAttribute("used", "true");
}
}
}
/*
Main page handling
*/
function appendUserNumbersMain(specified_node)
{
var posts = null;
if (specified_node == null)
{
//Getting all comments from page
posts = document.getElementById("js-posts_holder");
if (posts == null)
{
return;
}
posts = posts.getElementsByClassName("post");
}
else
{
posts = [specified_node];
}
//Adding user number
for (var i = 0; i < posts.length; i++)
{
if (posts[i].getAttribute("used") != "true")
{
//User number
var number = posts[i].className.match(/u([0-9]+)/)[1];
//Creating new node
var numberElement = document.createElement("span");
numberElement.innerHTML = " | " + number.toString() + " ";
//Appending to the lower line of comment
var insertionNode = posts[i].getElementsByClassName("p").item(0).getElementsByTagName("a").item(0);
insertionNode.parentNode.insertBefore(numberElement, insertionNode.nextSibling.nextSibling);
posts[i].setAttribute("used", "true");
}
}
}
function appendProfileUserNumber() {
var uservote = document.getElementById("uservote")
if (!uservote) return;
uservote = uservote.getElementsByClassName("vote");
if (uservote && uservote[0]) {
var uid = uservote[0].getAttribute("uid");
document.getElementById("main_inner").getElementsByClassName("username")[0].childNodes[0].innerHTML += " | " + uid;
}
}