// ==UserScript== // @name RARBG Advanced Filters [BETA] // @namespace http://tampermonkey.net/ // @version 1.7 // @description Additional filters // @author Kxmode // @match *://rarbg.to/* // @grant none // @require https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js // @downloadURL none // ==/UserScript== $(document).ready(function() { // TODO: Configuration possibility var showThumbnails = true; var showMoviesTVFilters = true; var showXXX = false; /* TODO: Filter Form [BETA] * new form layout ______________________________________________ ____________________________________________________________ $("body").prepend(""); $("#js-filters").append("
Update
"); */ /* * BEGIN: NON-CATEGORY ================================================================================================= */ // Hides the icons [TODO: make this a form checkbox filter] if (!showThumbnails) { $(".lista2t tr td:nth-of-type(1)").remove(); } // Hides XXX link from menu [TODO: make this a form checkbox filter] if (!showXXX) { $.each($(".tdlinkfull2"), function() { var targetText = $(this).text().toLowerCase(); if (targetText == "xxx") { $(this).parent().parent().remove(); } }); $.each($(".divadvscat a"), function() { var targetText = $(this).text().toLowerCase(); if(targetText == "xxx (18+)") { $(this).parent().remove(); } }); } // Hides torrents with seeders equal to or lower than 10 [TODO: make this a form input filter] /* if (parseInt(title.indexOf("720p")) > 0) { $(this).parents(".lista2").remove(); } */ /* * BEGIN: CATEGORY SPECIFIC ================================================================================================= */ // Iterates through line items $.each($(".lista a"), function(index, value) { var title = $(this).attr("title"); /* * BEGIN: MOVIES AND TV ================================================================================================= */ if (showMoviesTVFilters) { // Skips torrents without titles if (title !== undefined) { // Hides torrents with IMDB ratings equal to or lower than minRating [TODO: make this a form input filter] var minRating = 6.5; // Loop through every span tag inside the lista class anchor tag $.each($("span"), function(index, value) { var ratings = $(this).text(); var imdb = ratings.indexOf("IMDB: ") + 6; // Continue if this span has IMDB rating information if (ratings !== undefined && imdb !== -1) { var rateValue = parseFloat(ratings.substring(imdb,ratings.length-3)); // Continue if this IMDB rating is a number if (!isNaN(rateValue)) { // Continue if the torrent's rating is equal to or less than the minRating if (rateValue <= minRating) { $(this).parents(".lista2").remove(); } } } }); // Hides low-quality KORSUB torrents [TODO: make this a form checkbox filter] if (parseInt(title.indexOf("KORSUB")) > 0) { $(this).parents(".lista2").remove(); } // Hides 720p torrents [TODO: make this a form checkbox filter] if (parseInt(title.indexOf("720p")) > 0) { $(this).parents(".lista2").remove(); } } } /* * BEGIN: PORNOGRAPHY ================================================================================================= */ if (!showXXX) { // Hides XXX from list [TODO: make this a form checkbox filter] if (title !== undefined) { title = title.indexOf("XXX"); if (title >= 0) { $(this).parents(".lista2").remove(); } } } }); /* TODO: Filter counter [ALPHA] $(".container-sales").prepend("
\n" + "
\n" + "357 products shown\n" + "135 products hidden\n" + "\n" + "
\n" + "
"); */ });