Untitled21.08

21 August 2008

// ==UserScript==
// @name Ikariam Friend List
// @version 0.4
// @namespace Elnaira
// @description This script adds a small button to your Ikariam playfield. On mouseover a field will expand where you will be able to add friends and their respective URLs to a list allowing quick access to your friends islands.
// @include http://*ikariam.*/index.php*
// ==/UserScript==
// ===========================================================================
// This script has been made by Elnaira (c) http://www.arisen-guild.com.
// Remember this is still in beta. Please leave comments, tips, suggestions and feedback behind at http://userscripts.org/users/46670/scripts
//
// Beta
//
// v0.4 - Exporting and importing your friendlist is now possible
// - Made code a bit cleaner
// v0.3 - Able to use current page URL in URL field
// - Removed name check
// - Improved background image
// - Improved font color
// - Changed button style to those of Ikariam buttons
// v0.2 - Added delete function
// v0.1 - Making list appear on mouseover
// - Improved images
// ===========================================================================

// Function to add styles
if(!window.addGlobalStyle){
function addGlobalStyle(css) {
var head, style;
head = document.getElementsByTagName(’head’)[0];
if (!head) { return; }
style = document.createElement(’style’);
style.type = ‘text/css’;
style.innerHTML = css;
head.appendChild(style);
}
}

// The actual styles
addGlobalStyle(
‘#flBox { height: 29px; width: 29px; position: absolute; margin:0px 29px -18px 945px; z-index:31; }’ +
‘#flHeader { height: 26px; background-image: url(http://img168.imageshack.us/img168/4373/flheadervv3.jpg); background-repeat: no-repeat; font-weight: bold; font-size: 13px; text-align: center; padding-top: 5px; cursor: pointer; }’ +
‘#flHeader2 { height: 26px; width: 26px; background-image: url(http://img529.imageshack.us/img529/4585/flheader2kf8.jpg); background-repeat: no-repeat; background-position: right; font-weight: bold; font-size: 13px; text-align: right; cursor: pointer; }’ +
‘#flContent { height: 395px; background-image: url(http://img187.imageshack.us/img187/5917/flbackgroundum3.jpg); margin-top: -5px; padding: 7px; overflow: auto; display: none; font-family: Arial; font-size: 12px; }’ +
‘#flFooter { background-image: url(http://img297.imageshack.us/img297/7509/flfooterwc5.jpg); height: 5px; display: none; }’ +
‘#flBox ul { margin-left: 25px; } #flBox li { list-style: disc; } #flBox img{ margin-bottom:-3px; } #flBox ul a, #flBox p a { color: #542c0f; text-decoration: none; } #flBox ul a:hover, #flBox p a:hover{ color: #542c0f; text-decoration: underline; }’ +
‘#flBox input[type=text]{ color: #542c0f; background-color: #f3edd3; border: 1px solid #542c0f; font-size: 12px; padding: 1px; width: 100px;}’);

// If the list does not exist make it with value 0
if(!GM_getValue(”IkariamFriendList”)){
GM_setValue(”IkariamFriendList”, “0″);
}

var IkariamFriendList = GM_getValue(”IkariamFriendList”);

// Add friend function
unsafeWindow.flAddFriend = function(){

var flNewName = document.getElementById(”flNewName”);
var flNewLink = document.getElementById(”flNewLink”);

if(flNewName.value == “” || flNewName.value == flNewName.defaultValue || flNewLink.value == “” || flNewLink.value == flNewLink.defaultValue){
return alert(”Please fill in all fields.”);
}

var NewFriendListContent = ”;

if(IkariamFriendList == “0″){
NewFriendListContent = flNewName.value + ‘|’ + flNewLink.value + ‘;’;
}
else{
NewFriendListContent = IkariamFriendList + flNewName.value + ‘|’ + flNewLink.value + ‘;’;
}

window.setTimeout(GM_setValue, 0, “IkariamFriendList”, NewFriendListContent);

return window.location.reload();

};

// Delete friend function
unsafeWindow.flDeleteFriend = function(FriendName, FriendLink){

var flConfirm = confirm(”Are you sure you want to delete ” + FriendName + “?”);

if(flConfirm == 1){

var NewFriendListContent = ”;

flFiler = FriendName + ‘|’ + FriendLink + ‘;’;
NewFriendListContent = IkariamFriendList.replace(flFiler, ”);

if(NewFriendListContent == “”){
NewFriendListContent = “0″;
}

window.setTimeout(GM_setValue, 0, “IkariamFriendList”, NewFriendListContent);

return window.location.reload();

}

return;
};

// Function to open/close the frame
unsafeWindow.flToggleFrame = function(nr){

if(nr == 1){
document.getElementById(”flButtonArea”).innerHTML = ‘

Friendlist

‘;
document.getElementById(”flContent”).style.display = ‘block’;
document.getElementById(”flFooter”).style.display = ‘block’;
document.getElementById(”flBox”).style.height = ‘440px’;
document.getElementById(”flBox”).style.width = ‘150px’;
document.getElementById(”flBox”).style.margin = ‘0px 29px -18px 821px’;
}
else{
document.getElementById(”flButtonArea”).innerHTML = ‘

‘;
document.getElementById(”flContent”).style.display = ‘none’;
document.getElementById(”flFooter”).style.display = ‘none’;
document.getElementById(”flBox”).style.height = ‘29px’;
document.getElementById(”flBox”).style.width = ‘29px’;
document.getElementById(”flBox”).style.margin = ‘0px 29px -18px 945px’;
}

};

// Function to add the current URL to the Link Field
unsafeWindow.flInsertCurrentURL = function(){

var flNewLink = document.getElementById(”flNewLink”);
var flCurrentURL = window.document.location;

return flNewLink.value = flCurrentURL;

};

// Export function
unsafeWindow.flExport = function(){

if(IkariamFriendList == “0″){
return alert(”No friends in the list.”);
}

prompt(’Copy this string into the import field.’, IkariamFriendList);

}

// Import function
unsafeWindow.flImport = function(){
var flImportValue = prompt(’Paste the string into the field below. As of now an corrupted string can get through. Be sure to only import a string that comes from this extension.’);

if(flImportValue){
if(IkariamFriendList == “0″){
NewFriendListContent = flImportValue;
}
else{
NewFriendListContent = IkariamFriendList + flImportValue;
}
window.setTimeout(GM_setValue, 0, “IkariamFriendList”, NewFriendListContent);
alert(”String accepted”);
return window.location.reload();
}else{
return alert(”Please import a valid string.”);
}

return false;
}

// Time to build the Friendlist in HTML
var flHTML = ”;
var CurrentIkariamFriendList = ”;

if(IkariamFriendList == “0″){

flHTML += ‘No friends in the list.’;

}
else{

// Slice the last ; of the list
CurrentIkariamFriendList = IkariamFriendList.slice(0, -1);
// Split the long string up
CurrentIkariamFriendList = CurrentIkariamFriendList.split(’;');
// And sort it alphabetical
CurrentIkariamFriendList.sort();

var IkariamFriend = ”;

flHTML += ‘

    ‘;

    for(i=0;i<=CurrentIkariamFriendList.length-1;i++){

    IkariamFriend = CurrentIkariamFriendList[i];

    // Split every piece to get the name and link
    IkariamFriend = IkariamFriend.split('|');

    flFriendName = IkariamFriend[0];
    flFriendLink = IkariamFriend[1];
    if (flFriendLink.indexOf("http://"+ location.host)) continue;

    flHTML += '

  • ‘ + flFriendName + ‘
  • ‘;

    }

    flHTML += ‘

‘;
}

// Add the HTML for the adding friends part
flHTML += ‘


Add Friend

Use current website URL

   Add   

Export | Import

‘;

// And now its time to place it in the right position, before the ‘mainview’ (playfield) div that is
var main, newElement;
main = document.getElementById(’mainview’);
if (main) {
newElement = document.createElement(’div’);
newElement.setAttribute(’id’, ‘flBox’);
main.parentNode.insertBefore(newElement, main);
}

// And finally put layout + friendlist HTML in it all together, we’re done :)
document.getElementById(”flBox”).innerHTML = ‘

‘ + flHTML + ‘

‘;

  • Share/Bookmark


Lăsaţi un răspuns

(insereaza codul din stanga)

Weblog

Toate drepturile rezervate Weblog.ro

Parerea ta conteaza

Echipa Weblog.ro e alaturi de tine! Da-ne un semn!

  • Vrei sa iti faci cont pe www.weblog.ro si intampini dificultati?

  • Ai intrebari legate de folosirea site-ului?

  • Doresti sa ne comunici comportamentele abuzive ale unor membri?

  • Vrei sa faci comentarii sau sa ne dai anumite sugestii?

P A R E R E A T A