lash's Zetaboards Improvement Script

An all-in-one script that works on pretty much every Zetaboards forum, adding a sidebar and other code.

As of 18. 09. 2015. See the latest version.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        lash's Zetaboards Improvement Script
// @namespace   zetaboards-improvement
// @description An all-in-one script that works on pretty much every Zetaboards forum, adding a sidebar and other code.
// @include  http://stackoverflow.com/questions/14722302/*
// @include     http://starforcerp.com/*
// @include     starforcerp.com/*
// @include     http://*.zetaboards.com/*
// @include	http://sonic-cyclone.net/*
// @version     6
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
$('.topic-buttons').prepend(" <a href='"+$('#foot_links a:contains(Track Topic)').attr('href')+"'><img src='http://z5.ifrm.com/9054/18/0/f5307276/track_topic.png' alt='track topic' /></a>");

$("body").append ( '                                                \
    <div id="gmRightSideBar">                                       \
        <p>F9 toggles visibility</p>                                \                                                  \
<table class="cat_head" id="collapsed" style="border-collapse:collapse; padding:0px;"> \
<tbody><tr><td><h2><span class="collapse" style="float:initial;"><center>Chat (click to toggle)</center></span></h2></td></tr></tbody></table> \
<table style="display: table; padding: 0px;" cellpadding="0" cellspacing="0"> \
<tbody><tr><td style="width:100%;" valign="top"> \
<div id="chat"> \
</div> \
</td></tr></tbody></table> \
<table class="cat_head" id="collapsed" style="border-collapse:collapse; padding:0px;"> \
<tbody><tr><td><h2><span class="collapse" style="float:initial;"><center>Subscriptions (click to toggle)</center></span></h2></td></tr></tbody></table> \
<table style="display: table; padding: 0px;" cellpadding="0" cellspacing="0"> \
<tbody><tr><td style="width:100%;" valign="top"> \
<div id="user_control_panel"> \
</div> \
</td></tr></tbody></table> \
</div>                                                          \
' );
$('#cboxdiv').remove().clone().appendTo('#chat');
//-- Fade panel when not in use
var kbShortcutFired = false;
var rightSideBar    = $('#gmRightSideBar');
rightSideBar.hover (
    function () {
        $(this).stop (true, false).fadeTo (50,  1  );
        kbShortcutFired = false;
    },
    function () {
        if ( ! kbShortcutFired ) {
            $(this).stop (true, false).fadeTo (900, 0.1);
        }
        kbShortcutFired = false;
    }
);
rightSideBar.fadeTo (2900, 0.1);

//-- Keyboard shortcut to show/hide our sidebar
$(window).keydown (keyboardShortcutHandler);

function keyboardShortcutHandler (zEvent) {
    //--- On F9, Toggle our panel's visibility
    if (zEvent.which == 120) {  // F9
        kbShortcutFired = true;

        if (rightSideBar.is (":visible") ) {
            rightSideBar.stop (true, false).hide ();
        }
        else {
            //-- Reappear opaque to start
            rightSideBar.stop (true, false).show ();
            rightSideBar.fadeTo (0, 1);
            rightSideBar.fadeTo (2900, 0.1);
        }

        zEvent.preventDefault ();
        zEvent.stopPropagation ();
        return false;
    }
}

GM_addStyle ( "                                                     \
    #gmRightSideBar {                                               \
        position:               fixed;                              \
        top:                    0;                                  \
        left:                  0;                                  \
        margin:                 1ex;                                \
        background-color: rgba(255, 0, 0, 0.5)                      \
        width:                  200px;                              \
max-width:200px; \
        z-index:                6666;                               \
        opacity:                0.9;                                \
height: 100%; \
overflow: auto; \
    }                                                               \
    #gmRightSideBar p {                                             \
        font-size:              80%;                                \
    }                                                               \
    #gmRightSideBar ul {                                            \
        margin:                 0ex;                                \
    }                                                               \
    #gmRightSideBar a {                                             \
        color:                  blue;                               \
    }                                                               \
" );
jQuery(function() {
	var base_url = window.location.origin;
	jQuery.get(base_url+"/home"+"?forceads", "", function (data) {
//jQuery(data).find("#boardmeta").appendTo ("#user_control_panel");
//jQuery(data).find("#ucp_splash").appendTo ("#user_control_panel");

jQuery(data).find("#subscriptions").appendTo("#user_control_panel");
jQuery(data).find(".ucp:has(thead tr th:contains(Forum Subscriptions))").appendTo ("#user_control_panel");
jQuery("#subscriptions thead tr th").attr("colspan","2");

jQuery("#subscriptions .c_foot form").remove();
jQuery(".ucp:has(thead tr th:contains(Forum Subscriptions)) .c_foot form").remove();
}, "html");

});
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);
}
addGlobalStyle('iframe {width:100% !important;}');
addGlobalStyle('#subscriptions > thead:nth-child(1) > tr:nth-child(1) > th:nth-child(1) {display:none;}');
addGlobalStyle('#cboxdiv {width:100% !important;}');
addGlobalStyle('table#subscriptions tbody > tr th:nth-child(3), table#subscriptions tbody > tr th:nth-child(4), table#subscriptions tbody > tr th:nth-child(2), table#subscriptions tr[class*="row"] td:nth-child(3), table#subscriptions tr[class*="row"] td:nth-child(4), table#subscriptions tr[class*="row"] td:nth-child(2),table#subscriptions tr[class*="row"] td:nth-child(6), table#subscriptions tbody > tr th:nth-child(6) {display: none;}');