// ==UserScript== // @name tv-links.eu/tvmuse.eu Link Finder // @namespace http://tvmuse.eu/ // @version 0.1.2 // @description script to compile a nice list of links from the comments on episode pages // @include *.tvmuse.*/* // @require http://code.jquery.com/jquery.min.js // @copyright 2014+, Techplex Engineer // @downloadURL https://update.greasyfork.icu/scripts/3757/tv-linkseutvmuseeu%20Link%20Finder.user.js // @updateURL https://update.greasyfork.icu/scripts/3757/tv-linkseutvmuseeu%20Link%20Finder.meta.js // ==/UserScript== $(document).ready(function() { //remove the crap links $("ul.tabs.outer").remove(); $(".tabs.outer.cfix.mb_05").remove(); $("ul#table_search").remove(); $("div.bg_imp mb_2").remove(); $("li.cfix>button.btn_all_results").remove(); //find all the links in the comments var links = []; $("ul.table_comments>li").each(function(){ var txt = $("div.data>div.content>p.big",this).html(); if (typeof txt != 'undefined' && txt.toLowerCase().indexOf("removed") == -1 && (txt.toLowerCase().indexOf("http://") >= 0 || txt.toLowerCase().indexOf("") >= 0)) { //this will open the comments marked "This comment is hidden because it's likely to be inappropriate or spam" if (txt.toLowerCase().indexOf("") >= 0) { return; //continue } var stripped = txt.replace(/<(?:.|\n)*?>/gm, ' '); //strip html var single = stripped.replace(/\s+/g, ' '); //collapse whitespace var arr = single.split(' '); links = links.concat(arr); } }); //Priority setting var priority = { "allmyvideos.net":1 ,"putlocker.com":2 ,"sockshare.com":2 ,"played.to":3 ,"donevideo.com":4 ,"filenuke.com":5 }; //remove any empty links links = $.grep(links, function(el, idx){ return el != ""; }); //remove any duplicate links links = $.unique(links); //sort the links by the priority above links.sort(function(a,b){ var hostnameA = priority[$('').prop('href', a).prop('hostname').replace(/^www\./,'')]||999; var hostnameB = priority[$('').prop('href', b).prop('hostname').replace(/^www\./,'')]||999; //console.log(hostnameA,hostnameB); //a comes first -1 //b comes first 1 //same 0 return hostnameA-hostnameB; }); //add the links to the page $("div.cfix.mb_2").after(function(){ var out = "

Links

"; out += "
    "; for (var i=0;i"+links[i]+""; out += ""; } out += "
"; var parts = window.location.pathname.match(/\/tv-shows\/([^_]+)[^\/]+\/season_(\d+)\/episode_(\d+)/); var name = parts[1].toLowerCase().replace('-','_'); var season = parts[2]; var episode = parts[3]; var url = "http://www.free-tv-video-online.me/internet/"+name+"/season_"+season+".html#e"+episode; out += "See the related page on the Project Free TV Site"; out += "
"; return out; }); }); //once the page has loaded: $(window).load(function(){ //this seems to only work here $("div.bg_imp.mb_2").remove(); });