// ==UserScript== // @name KAT - Toggle All Folders // @namespace ToggleAll // @version 1.19 // @description Adds a button to expand/minimise all folders in a torrent on KAT // @match http://kickass.so/*.html // @match https://kickass.so/*.html // @exclude http://kickass.so/tos.html // @exclude https://kickass.so/tos.html // @downloadURL none // ==/UserScript== $(".folderopen:first").attr("class", "folder"); $('button[id$="AllFolders"]').remove(); var temp = $('a[href^="javascript:getFiles"]:first').attr("href"); var subfolder = $('table[id$="_1"]:first').attr("id"); if (temp != undefined) { temp = temp.split(", "); morelink = temp[0] + ", " + temp[1]; var pattern = new RegExp(";$"); if (pattern.test(morelink)) // if morelink is found in root directory { if (subfolder != undefined) // if subfolder is found { $(".torrent_files").prepend(''); $('
Please wait before expanding the folders
').insertBefore(".data:first"); } } else // if morelink is found in a sub folder { morelink = morelink + ");" $(".torrent_files").prepend(''); $('
Please wait before expanding the folders
').insertBefore(".data:first"); } window.open(morelink, "_self"); } else // if no morelink is found { if (subfolder != undefined) // if subfolder is found { $(".torrent_files").prepend(''); } // if no subfolder (or morelink) is found } var count = $('table[id^="ul_"][id!="ul_top"]').length; var timer = count * 10; if (timer < 500 ) { timer = 500; } setTimeout(function() { $('.torrent_files').bind("DOMSubtreeModified",function() { $("#loading").remove(); $("#Toggle").removeAttr("style"); $("#Toggle").css("margin-right", "5px"); $("#ul_top").css("display", "block"); }); }, timer); $("#Toggle").click( function() { $('span[class^="folder"][class!="foldericon"]').each(function() { if ($(this).attr("class") == "folder") { $(this).attr("class", "folderopen"); } else { $(this).attr("class", "folder"); } }); $('table[id^="ul_"][id!="ul_top"]').after(function(ind) { if ($(this).css("display") == "none") { $(this).css("display", "block"); } else { $(this).css("display", "none"); } }); });