Last.fm Online Status
By staticsage
—
Last update Apr 13, 2007
—
Installed
4,838 times.
// Last.fm Online Status
// version 0.6
// 2006-07-17
// Copyright (c) 2006, staticsage
// Released under the GPL license
// http://www.gnu.org/licenses/gpl.txt
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script. To install it, you need
// Greasemonkey: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Last.fm Beta Reply Tracker", and click Uninstall.
//
// --------------------------------------------------------------------
//
// version 0.6 (2006-09-15)
// Updated script to work with the new site.
//
// version 0.5 (2006-07-21)
// Major rewrite of code. Fixed bug that made user's profile turn red.
//
// version 0.4 (2006-07-19)
// Added an option to color user's username at top of page.
// Updated the menu options.
//
// version 0.3 (2006-07-18)
// Corrected bug that made user's profile turn red.
//
// version 0.2 (2006-07-18)
// Added option to have script show only Online or Offline rather
// than the full colored text.
//
// version 0.1 (2006-07-17)
// Script colors "just seen" greens and any other online status in red.
//
//
// ==UserScript==
// @name Last.fm Online Status
// @description Adds color to user's online status
// @include http*://*.last.fm/user*
// ==/UserScript==
GM_registerMenuCommand("Online Status:", function() {});
GM_registerMenuCommand(" Toggle Last Seen Style", function() {lastSeen()});
GM_registerMenuCommand(" Toggle Name Color On/Off", function() {nameColor()});
var OS_seen = GM_getValue("OS_seen", 1);
var OS_name = GM_getValue("OS_name", 1);
function lastSeen() {
var a = prompt("Enter an number:\n\n1. Color the Last Seen Text \n2. Show only Online/Offline \n3. Off");
GM_setValue("OS_seen", a);
}
function nameColor() {
if (OS_name == 1) {GM_setValue("OS_name", 0);}
if (OS_name == 0) {GM_setValue("OS_name", 1);}
}
var insert = document.getElementById('aboutMe').innerHTML;
if (document.getElementById('aboutMe').innerHTML.search("Edit my detail") == -1) {
if (OS_name == 1) {
if (insert.search("minutes ago") != -1) {
document.getElementById('LastHeadline').innerHTML = document.getElementById('LastHeadline').innerHTML.replace("\/\"\>", "\/\"\>\<font color\=green\>");
document.getElementById('LastHeadline').innerHTML = document.getElementById('LastHeadline').innerHTML.replace("\<\/a\>", "\<\/font\>\<\/a\>");
}
else {
document.getElementById('LastHeadline').innerHTML = document.getElementById('LastHeadline').innerHTML.replace("\/\"\>", "\/\"\>\<font color\=#BA001E\>");
document.getElementById('LastHeadline').innerHTML = document.getElementById('LastHeadline').innerHTML.replace("\<\/a\>", "\<\/font\>\<\/a\>");
}
}
}
timefind = insert.substring(insert.search("Last seen"), insert.search("Tracks"));
if (OS_seen == 1) {
if (timefind.search("minutes ago") != -1) {
replacetext = insert.substring(insert.search("Last seen") + 9, insert.search("minutes ago") + 11);
insert = insert.replace(replacetext, "\: \<font color\=green\>" + replacetext + "\<\/font\>");
document.getElementById('aboutMe').innerHTML = insert;
}
else {
pos1 = insert.search("Last seen") + 9;
if (timefind.search("today") != -1) {pos2 = timefind.search("today") + 5;}
else if (timefind.search("evening") != -1) {pos2 = timefind.search("evening") + 7;}
else if (timefind.search("ago") != -1) {pos2 = timefind.search("ago") + 3;}
pos2 = pos2 + insert.search("Last seen");
replacetext = insert.substring(pos1, pos2);
insert = insert.replace(replacetext, "\: \<font color\=#BA0014\>" + replacetext + "\<\/font\>");
document.getElementById('aboutMe').innerHTML = insert;
}
}
else if (OS_seen == 2) {
if (timefind.search("minutes ago") != -1) {
replacetext = insert.substring(insert.search("Last seen"), insert.search("minutes ago") + 11);
insert = insert.replace(replacetext, "\<font color\=green\>Online\<\/font\>");
document.getElementById('aboutMe').innerHTML = insert;
}
else {
pos1 = insert.search("Last seen");
if (timefind.search("today") != -1) {pos2 = timefind.search("today") + 5;}
else if (timefind.search("evening") != -1) {pos2 = timefind.search("evening") + 7;}
else if (timefind.search("ago") != -1) {pos2 = timefind.search("ago") + 3;}
pos2 = pos2 + insert.search("Last seen");
replacetext = insert.substring(pos1, pos2);
insert = insert.replace(replacetext, "\<font color\=#BA0014\>Offline\<\/font\>");
document.getElementById('aboutMe').innerHTML = insert;
}
}