🏠 Home 

eUSA Forums Feed for Erepublik

Preview the latest posts on your favorite eUSA Forums board from the Erepublik homepage


Install this script?
// ==UserScript==
// @version    0.4
// @name       eUSA Forums Feed for Erepublik
// @namespace  http://eusaforums.com/
// @description  Preview the latest posts on your favorite eUSA Forums board from the Erepublik homepage
// @require		http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
// @grant       GM_addStyle
// @grant		GM_setValue
// @grant		GM_deleteValue
// @grant		GM_getValue
// @grant		GM_xmlhttpRequest
// @match      *://www.erepublik.com/*
// @exclude    *://www.erepublik.com/*/*
// @copyright  2014+, Mike Ontry
// ==/UserScript==
jQuery("body").append ( '                                                          																	\
<div id="gmPopupContainer">                                               																		\
<form> 																																			\
<h2>eUSA Forums Feed Settings</h2><br />																									\
<small>The username and password fields are optional. Use them if you are not already logged in to the forums on this device.</small><br />	\
Username:<br />														  																		\
<input type="text" id="eUSAForums-user" value="'+GM_getValue("user", "Forum Username")+'"><br />											\
Password:<br />														  																		\
<input type="password" id="eUSAForums-pass" value="'+GM_getValue("pass", "")+'"><br />          											\
Number of posts to show:<br />														  														\
<input type="text" id="eUSAForums-posts" value="'+GM_getValue("posts", "5")+'"><br />          												\
\
<button id="eUSAForums-submit" type="button">Save</button>			  																		\
<button id="eUSAForums-clear" type="button">Clear Settings</button><br /><br />																\
<h2>Add board</h2><br />																													\
Board name:<br />																															\
<input type="text" id="addboard-name"><br />																								\
Board id:<br />																																\
<input type="text" id="addboard-id"><br />																									\
<button id="addboard-submit" type="button">Add</button><br /><br />																			\
<h2>Remove board</h2><br />																													\
<div id="removeboard-div"></div><br />																										\
<button id="removeboard-submit" type="button">Remove</button><br />																			\
<div id="gmCloseDlgBtn" title="Close"><img src="http://ereptools.tk/images/close.png"/></div>   											\
</form>                                                                   																		\
</div>                                                                    																		\
' );
jQuery(document).on("change", "#eUSAForums-board", function (e) {
var board = jQuery("#eUSAForums-board").val();
if(GM_getValue("board") != board) {
GM_setValue("board", board);
waitForFeed(GM_getValue("board"), GM_getValue("posts"));
}
});
jQuery("#addboard-submit").click ( function () {
var addName = jQuery("#addboard-name").val();
var addId = jQuery("#addboard-id").val();
jQuery("#addboard-name").val("");
jQuery("#addboard-id").val("");
if (addName != "" || addId != ""){
if( GM_getValue("boardsList", "") != ""){
var oldBoards = JSON.parse(GM_getValue("boardsList"));
oldBoards.push(addName);
oldBoards.push(addId);
GM_setValue("boardsList", JSON.stringify(oldBoards));
}else{
var boardsList = [addName, addId];
GM_setValue("boardsList", JSON.stringify(boardsList));
}
}
jQuery("#gmPopupContainer").hide();
loadBoardList();
});
jQuery("#removeboard-submit").click ( function () {
var removeName = jQuery("#removeboard-name").val();
if (removeName != ""){
if( GM_getValue("boardsList", "") != ""){
var oldBoards = JSON.parse(GM_getValue("boardsList"));
for (i = 0; i < oldBoards.length; i++) {
if(oldBoards[i] == removeName){
oldBoards.splice(i-1,2);
}
}
GM_setValue("boardsList", JSON.stringify(oldBoards));
}
}
jQuery("#gmPopupContainer").hide();
loadBoardList();
});
jQuery("#eUSAForums-submit").click ( function () {
var user = jQuery("#eUSAForums-user").val();
var pass = jQuery("#eUSAForums-pass").val();
var posts = jQuery("#eUSAForums-posts").val();
if (GM_getValue("user") != user || GM_getValue("pass") != pass || GM_getValue("posts") != posts ) {
GM_setValue("posts", posts);
jQuery("#gmPopupContainer").hide();
if(GM_getValue("user") != user || GM_getValue("pass") != pass){
GM_setValue("user", user);
GM_setValue("pass", pass);
if(GM_getValue("user") != "Forum Username" || GM_getValue("pass") != ""){
loginForums();
}
}
waitForFeed(GM_getValue("board"), GM_getValue("posts"));
}else {
jQuery("#gmPopupContainer").hide();
}
});
jQuery("#eUSAForums-clear").click ( function () {
jQuery("#eUSAForums-user").val("");
jQuery("#eUSAForums-pass").val("");
jQuery("#eUSAForums-posts").val("");
GM_deleteValue("user");
GM_deleteValue("pass");
GM_deleteValue("board");
GM_deleteValue("posts");
waitForFeed("", "");
loadBoardList();
jQuery("#gmPopupContainer").hide();
} );
jQuery("#gmCloseDlgBtn").click ( function () {
jQuery("#gmPopupContainer").hide();
} );
jQuery(".column:first").append('<h1 class="noborder eUSAForums-title" style="clear:left;"></h1><div id="eUSAForums-config">Feed Settings</div><div id="eUSAForums-select"></div>');
jQuery(".column:first").append('<div class="media_widget eUSAForums"><div id="eUSAForums-container"><ul></ul></div><a href="http://eusaforums.com/forum/index.php?action=forum" target="_blank" class="visit_eUSAForums" title="Visit Forums">Visit Forum</a></div>');
jQuery("#gmPopupContainer").css({top: jQuery("#eUSAForums-config").offset().top, left: jQuery("#eUSAForums-config").offset().left});
jQuery("#eUSAForums-config").click ( function () {
jQuery("#gmPopupContainer").show();
});
jQuery(document).on("mouseleave mouseenter", "li.eUSAForums-list", function (e) {
if (e.type === 'mouseenter') {
jQuery(this).children('.eUSAForums-items').css('display', 'none');
jQuery(this).children('.eUSAForums-desc').css('display', 'inline-block');
jQuery(this).height(140);
jQuery(this).children('.eUSAForums-desc').height(140);
}
else{
jQuery(this).children('.eUSAForums-items').css('display', 'block');
jQuery(this).children('.eUSAForums-desc').css('display', 'none');
jQuery(this).height(70);
jQuery(this).children('.eUSAForums-desc').height(70);
}
});
function loginForums() {
GM_xmlhttpRequest({
method: "POST",
url: "http://eusaforums.com/forum/index.php?action=login2",
data: "&action=login2&user="+GM_getValue("user")+"&passwrd="+GM_getValue("pass")+"&cookieneverexp=on&hash_passwrd=",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function() {
waitForFeed(GM_getValue("board"), GM_getValue("posts"));
}
});
}
function loadBoardList() {
var selectMenu = '<select id="eUSAForums-board"><option value="">All Boards</option>';
var selectConfigMenu = '<select id="removeboard-name"><option value="">Select Board</option>';
if( GM_getValue("boardsList", "") != ""){
var oldBoards = JSON.parse(GM_getValue("boardsList"));
for (i = 0; i < oldBoards.length; i+=2) {
selectMenu += '<option value="'+oldBoards[i+1]+'">'+oldBoards[i]+'</option>';
selectConfigMenu += '<option value="'+oldBoards[i+1]+'">'+oldBoards[i]+'</option>';
}
}
selectMenu += '</select>';
selectConfigMenu += '</select>';
jQuery("#eUSAForums-select").empty();
jQuery("#eUSAForums-select").append(selectMenu);
jQuery("#removeboard-div").empty();
jQuery("#removeboard-div").append(selectConfigMenu);
}
function waitForFeed(b,p) {
b = typeof b !== 'undefined' ? b : GM_getValue("board", "");
p = typeof p !== 'undefined' ? p : GM_getValue("posts", "");
jQuery("#eUSAForums-container").find("ul").empty();
GM_xmlhttpRequest({
method: "GET",
url: "http://eusaforums.com/forum/index.php?action=.xml;sa=recent;board="+b+";limit="+p+";type=atom",
onload: function(response) {
var data = jQuery.parseXML(response.responseText);
jQuery(data).find("feed").each(function () {
var el = jQuery(this);
var title = el.find("title:first").text();
jQuery(".eUSAForums-title").html(title);
});
jQuery(data).find("entry").each(function () {
var el = jQuery(this);
var title = el.find("title").text();
var link = el.find("id").text();
var pubDate = el.find("published").text();
var desc = el.find("summary").text();
var author = el.find("author").find("name").text();
var authorLink = el.find("author").find("uri").text();
jQuery("#eUSAForums-container").find("ul").append('<li class="eUSAForums-list"><div class="eUSAForums-items"><div><a href="'+link+'" target="_blank" class="eUSAForums-link">'+title+'</a><br /><a href="'+authorLink+'" target="_blank">'+author+'</a><br /><br /><small>'+pubDate+'</small></div></div><br /><br /><div class="eUSAForums-desc"><a href="'+link+'" target="_blank" class="eUSAForums-link">'+title+'</a><br /><a href="'+authorLink+'" target="_blank">'+author+'</a><br /><br />'+desc+'<br /><br /><a href="'+link+'" target="_blank" class="eUSAForums-link">Continue Reading...</a></div></li>');
});
}
});
}
loadBoardList();
//CSS
GM_addStyle ( "                                                 			\
#gmPopupContainer {                                         			\
position:               absolute;                       			\
width:					278px;										\
padding:                2em;                            			\
background:             #C1E4F1;                     				\
border:                 3px double black;               			\
border-radius:          1ex;                            			\
z-index:                999;										\
display:				none;										\
}                                                           			\
#gmPopupContainer button{                                   			\
cursor:                 pointer;                        			\
margin:                 1em 1em 0;                      			\
border:                 1px outset buttonface;          			\
}                                                           			\
#gmCloseDlgBtn {         		                            			\
cursor:                 pointer;                        			\
position:				absolute;									\
top:					0px;										\
right:					0px;										\
}                                                           			\
#eUSAForums-config {													\
background-color:		#C1E4F1;									\
text-align:				center;										\
cursor:                 pointer;                        			\
}																		\
#eUSAForums-select {													\
background-color:		#C1E4F1;									\
text-align:				center;										\
}																		\
#eUSAForums-select select {												\
background: #C1E4F1;												\
border:none;														\
outline:none;														\
cursor:pointer;														\
}																		\
.eUSAForums-items a { 													\
float: left; 														\
color: #333; 														\
line-height: 15px; 													\
clear: both; 														\
font-size: 14px; 													\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums li { 														\
width: 318px; 														\
height: 70px;														\
top: 0; 															\
left: 0; 															\
padding: 7px; 														\
float: left; 														\
clear: both; 														\
border-bottom: 1px solid #efeded; 									\
position: relative; 												\
} 																		\
.eUSAForums ul { 														\
list-style-type: none; 												\
} 																		\
.visit_eUSAForums { 													\
float: left; 														\
width: 100px; 														\
height: 20px; 														\
-moz-border-radius-topleft: 5px; 									\
-moz-border-radius-topright: 5px; 									\
border-radius: 5px 5px 0 0; 										\
background-color: #e0ddd0; 											\
background-image: -webkit-linear-gradient(#f2f0ec 0,#e0ddd0 100%); 	\
background-image: linear-gradient(#f2f0ec 0,#e0ddd0 100%); 			\
box-shadow: #d6d1c5 0 1px 2px inset; 								\
position: absolute; 												\
bottom: 3px; 														\
font-size: 11px; 													\
text-shadow: #fff 0 1px 0; 											\
color: #726c5f; 													\
left: 116px; 														\
text-align: center; 												\
line-height: 22px; 													\
} 																		\
.eUSAForums-desc { 														\
background-color: #E7EAEF;											\
display: none; 														\
z-index: 10; 														\
width: 318px; 														\
height: 70px; 														\
position: absolute; 												\
top: 0; 															\
left: 0; 															\
padding: 7px; 														\
overflow-y: auto; 													\
overflow-x: auto; 													\
color: #333; 														\
line-height: 15px; 													\
clear: both; 														\
font-size: 14px; 													\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums-desc a { 													\
color: #346; 														\
text-decoration: underline;											\
line-height: 15px; 													\
clear: both; 														\
font-size: 14px; 													\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums-desc .bbc_standard_quote { 									\
background-color: #D7DAEC; 											\
border-bottom-style: solid;											\
border-bottom-color:          #9999AA;                            	\
padding: 3px; 														\
font-size: small; 													\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums-desc .bbc_alternate_quote { 								\
background-color: #E7EAFC; 											\
border-bottom-style: solid;											\
border-bottom-color:          #9999AA;                            	\
border-top-style: solid;											\
border-top-color:          #9999AA;                            		\
padding: 3px; 														\
font-size: small; 													\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums-desc .topslice_quote { 										\
background-color: #D7DAEC; 											\
border-top-style: solid;											\
border-top-color:          #9999AA;                            		\
padding: 3px; 														\
font-size: small; 													\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums-desc .topslice_quote a { 									\
font-size: x-small; 												\
font-family: Cambria,Georgia,serif; 								\
} 																		\
.eUSAForums-desc .bbc_img { 											\
max-width: 300px; 													\
max-height: 400px; 													\
}																		\
.youtube iframe { 														\
width: 275px; 														\
height: 140px; 														\
}																		\
" );
window.addEventListener('load', waitForFeed(), false);