There are 2 previous versions of this script.
// ==UserScript==
// @name Popmundo Voting and Tagging
// @namespace http://popodeus.com
// @description Vote and tag forum posts in Popmundo. BETA VERSION. Do not install.
// @include http://www*.popmundo.com/Common/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @require http://updater.usotools.co.cc/49589.js
// @copyright Popodeus.com. All rights reserved.
// @version 3
// ==/UserScript==
var version = 3;
var loc = document.location.href.toLowerCase();
var ref = document.referrer.toLowerCase();
var POSTURL = 'http://beta.popodeus.com/rpc/forum/vote/add';
var TAGLISTURL = 'http://beta.popodeus.com/taglist/forum';
function doit(send, handler) {
if (!handler) handler = function() { };
GM_xmlhttpRequest({
method:'POST',
url:POSTURL,
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: send,
onload: handler
})
}
// Vote on comics
if (loc.indexOf('gazette.asp?action=comics') > 0) {
var iface = '<div id="popodeus-vote" style="display: none">';
iface += '<span id="x-voting"><img src="http://beta.popodeus.com/scripts/gfx/vote_up.png" alt="+" id="x-up"/>' +
' ' +
'<img src="http://beta.popodeus.com/scripts/gfx/vote_down.png" alt="-" id="x-down"/></span>' +
'</div>';
$(document).ready(function() {
function comicvote() {
var txt = $(this).attr('alt');
var m = loc.match( /comics&cityid=(\d+)&issue=(\d+)/);
var img = this.parentNode.parentNode.previousSibling;
var send = 'issue=' + m[2] + '&city=' + m[1] +
'&vote=' + encodeURIComponent(txt) +
'&url=' + encodeURIComponent(img.src);
$('#popodeus-vote').fadeOut();
doit(send, function(res) {
GM_log(res.responseText);
});
}
GM_addStyle(
'#popodeus-vote { ' +
'background-color: #474747; opacity: 0.85; ' +
'position: absolute; margin-top: -30px; height: 21px;' +
//'border-top: 1px solid #111; ' +
'border-bottom: 2px solid #111; ' +
'padding: 3px;' +
'width: 500px;' +
'font-size: 12px; ' +
'z-index: 20; ' +
'} ' +
'#popodeus-vote img { ' +
'cursor: pointer; ' +
'}');
$('body').append(iface);
$('#x-voting > img').click( comicvote );
$('td[colspan="2"][align="center"] > img').mouseenter(function() {
$('#popodeus-vote').insertAfter($(this));
$('#popodeus-vote')
.css('width', $(this).attr('width')-5)
.css('display', 'block')
.css('left', $(this).position().left)
;
});
$('#popodeus-vote').mouseleave(function() {
$('#popodeus-vote').css('display', 'none');
});
});
}
// Vote on forum posts
if (loc.indexOf('cn.asp?a=v&t=') > 0 || loc.indexOf('cn.asp?action=view&threadid=') > 0) {
GM_addStyle(
'div.messageBox:hover { background: #FFE; } ' +
'#x-info, #popodeus-vote { ' +
'background-color: #474747; opacity: 0.9; ' +
'position: absolute; margin-top: -10px; height: 21px;' +
'border-top: 1px solid #111; ' +
'border-bottom: 1px solid #111; ' +
'padding: 3px;' +
'width: 500px;' +
'font-size: 12px; ' +
'z-index: 20; ' +
'}' +
'#x-info { text-align: right; background-color: #DFD; font-weight: bold; color: black; z-index: 5; } ' +
'#popodeus-vote img, #popodeus-vote > span {' +
'cursor: pointer; ' +
'z-index: 50; ' +
'}' +
'#popodeus-vote img { margin-top: -1px; } ' +
'#x-voting { float: right; } ' +
'#x-voting > img:hover { background-color: #999; } ' +
'#x-tagging > span {' +
'display: block; float: left; ' +
'border: 1px solid #111; ' +
'color: #000; ' +
'margin-top: -2px; ' +
'margin-right: 5px; ' +
'padding: 3px 4px 3px 13px; ' +
'-moz-border-radius: 6px; ' +
'cursor: pointer; ' +
'background-repeat: no-repeat; background-position: 1px 50%; ' +
'}' +
'.tag0 { background: #EDC url(http://popodeus.com/scripts/gfx/star_orange.png) } ' +
'.tag1 { background: #D5D6ED url(http://popodeus.com/scripts/gfx/star_blue.png) } ' +
'.tag2 { background: #ECC url(http://popodeus.com/scripts/gfx/star_red.png) } ' +
'.tag3 { background: #CEC url(http://popodeus.com/scripts/gfx/star_green.png) } ' +
'.tag4 { background: #ECE url(http://popodeus.com/scripts/gfx/star_pink.png) } ' +
'.tag5 { background: #CCC url(http://popodeus.com/scripts/gfx/star_green.png) } ' +
'span.tag0:hover { background-color: #AA6 } ' +
'span.tag1:hover { background-color: #77A } ' +
'span.tag2:hover { background-color: #A66 } ' +
'span.tag3:hover { background-color: #6A6 } ' +
'span.tag4:hover { background-color: #A6A } ' +
'span.tag5:hover { background-color: #666 } ' +
'');
function hoovon() {
var node = $('#popodeus-vote');
node.insertAfter(this);
$('#x-info').insertAfter(this);
node.css('display', 'block');
}
function hoovoff() {
$('#popodeus-vote').css('display', 'none');
}
function voteclick() {
var txt = $(this).attr('alt');
var node = this.parentNode.parentNode.previousSibling.previousSibling;
var links = node.getElementsByTagName('a')
for (var i=0; i<links.length; i++) {
var link = links[i];
if (link.href.indexOf('a=v&t=') > 0) {
var tmp = link.href.match(/t=(\d+)&n=(\d+)/);
var postid = tmp[1]+'.'+tmp[2];
var dbg = "Voted " + txt + " on " + postid;
var send = postid + "=" + encodeURIComponent(txt);
$('#x-info').html(dbg);
$('#x-info').css('display', 'block');
$('#popodeus-vote').fadeOut('fast');
doit(send, function(res) {
GM_log(res.responseText);
setTimeout(function() {
$('#x-info').fadeOut('fast');
}, 500);
});
break;
}
}
}
function tagclick() {
var txt = $(this).html();
var node = this.parentNode.parentNode.previousSibling.previousSibling;
var links = node.getElementsByTagName('a')
for (var i=0; i<links.length; i++) {
var link = links[i];
if (link.href.indexOf('a=v&t=') > 0) {
var tmp = link.href.match(/t=(\d+)&n=(\d+)/);
var postid = tmp[1]+'.'+tmp[2];
var dbg = "Tagged as " + txt;
var send = postid + "=" + encodeURIComponent(txt);
doit(send, function(res) {
GM_log(res.responseText);
});
$('#x-info').html(dbg).css('display', 'block');
$('#popodeus-vote').fadeOut().fadeIn('fast');
setTimeout(function() { $('#x-info').css('display', 'none') }, 520);
break;
}
}
}
//var tags = ['Amazing','Boo'];
function activate() {
var taglist = GM_getValue('taglist');
var tags = taglist.split(",");
var iface = '<div id="popodeus-vote" style="display: none;"><span id="x-tagging">';
for (var i=0; i<tags.length; i++) {
iface += '<span class="tag'+i+'">'+tags[i]+'</span>';
}
iface += '</span><span id="x-voting"><img src="http://beta.popodeus.com/scripts/gfx/vote_up.png" alt="+" id="x-up"/> <img src="http://beta.popodeus.com/scripts/gfx/vote_down.png" alt="-" id="x-down"/></span>' +
'</div><div id="x-info" style="display: none" >Vote info comes here</div>';
$(document).ready(function() {
$('body').append(iface);
$('#x-voting > img').click( voteclick );
$('#x-tagging > span').click( tagclick );
$('div.messageBox').mouseenter(hoovon);
$('#popodeus-vote').mouseleave(hoovoff);
$('#cn').mouseleave(hoovoff);
});
}
var default_list = 'Music,Relationships,Economics,Law,Other';
var taglist = GM_getValue('taglist');
var taglist_refresh = GM_getValue('taglist.refresh');
var now = parseInt(new Date().getTime()/1000);
if (!taglist || !taglist_refresh || now - taglist_refresh > 24*60*60) {
//taglist = 'Core,Relationships,Law';
GM_xmlhttpRequest({
method:'GET',
url:TAGLISTURL,
onload: function(ret) {
if (ret.status == 200) {
var list = ret.responseText;
GM_log("Refreshed tag list: " + list);
GM_setValue('taglist.refresh', now);
if (list.length > 0 && list.indexOf(",") > 0) {
GM_setValue('taglist', list);
} else {
// boo...
GM_setValue('taglist', default_list);
}
activate();
}
}
});
} else {
activate();
}
}
