lash's Zetaboards Improvement Script

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

ของเมื่อวันที่ 18-09-2015 ดู เวอร์ชันล่าสุด

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey, Greasemonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

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
// @homepage   https://greasyfork.org/en/scripts/12509-lash-s-zetaboards-improvement-script/
// @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     10
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
var base_url = window.location.origin;
$('.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; margin:0px; 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; margin:0px; 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; margin: 0px; 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; margin: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-left:                 1ex;                                \
        background-color: rgba(255, 0, 0, 0.5)                      \
        width:                  200px;                              \
        z-index:                6666;                               \
        opacity:                0.9;                                \
height: 100%; \
overflow-y: auto; \
overflow-x: hidden;\
    resize:horizontal;\
max-width:300px; \
width:200px; \
    }                                                               \
    #gmRightSideBar p {                                             \
        font-size:              80%;                                \
    }                                                               \
    #gmRightSideBar ul {                                            \
        margin:                 0ex;                                \
    }                                                               \
    }                                                               \
" );
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;}');
function loadjscssfile(filename, filetype){
    if (filetype=="js"){ //if filename is a external JavaScript file
        var fileref=document.createElement('script')
        fileref.setAttribute("type","text/javascript")
        fileref.setAttribute("src", filename)
    }
    else if (filetype=="css"){ //if filename is an external CSS file
        var fileref=document.createElement("link")
        fileref.setAttribute("rel", "stylesheet")
        fileref.setAttribute("type", "text/css")
        fileref.setAttribute("href", filename)
    }
    if (typeof fileref!="undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
}
 
loadjscssfile("http://z3.ifrm.com/63/1/0/p481654/Quick_Search.js", "js") //dynamically load and add this .js file
if (base_url != "http://starforcerp.com"){
loadjscssfile("http://z5.ifrm.com/9054/18/0/f5298252/zeta_cookie.js", "js") //dynamically load and add this .js file
loadjscssfile("http://z5.ifrm.com/9054/18/0/f5262218/confirm.js", "js") //dynamically load and add this .js file
loadjscssfile("http://z5.ifrm.com/9054/18/0/f5310358/login_redirect.js", "js") //dynamically load and add this .js file
}
if (base_url != "http://sonic-cyclone.net"){
// "Preview in Fast Reply" created by Holysavior of ZBCode and Javascriptin.com
$("#fast-reply dd").attr("id","c_post").append("<button id='preview' name='preview' type='button' onclick='Preview(event)' style='margin-right:5px;'>Preview</button>");$("#preview").after($("#fast-reply button:contains('Full Reply Screen')"));
$(".posting #btn_preview,.posting .btn_normal,#fast-reply #btn_preview,#fast-reply .btn_normal").after("<br /><span id='posting_wordchars'><b>0 Characters -- 0 Words</b></span>");
$(".posting #c_post-text,#fast-reply dd textarea").keyup(function(){
var characters = $(this).attr("value").length
var words = $(this).attr("value").split(" ").length
$("#posting_wordchars").html("<b>"+characters+" Characters -- "+words+" Words</b>");
});    
}