Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name MyEpisodes.com + nCore
- // @namespace ghoofy007
- // @description Minden epizód mellé belinkeli az nCore keresést Sorozatok kategóriában
- // @include http://www.myepisodes.com/*
- // ==/UserScript==
- // I hope the guys at the forum myepisodes.com don't mind that I kind of copied their NZB-search script and rewrote it to
- // let it search on ThePirateBay.se
- // Szintúgy módosítva, csak nCore-hoz :D
- // Version 1.1
- // Javítva: "Season X" helyett "S0X", így évadpakkra is ad találatot.
- // Fixed search attributes in nCore link
- var searchAttributes = "&miben=name&tipus=kivalasztottak_kozott&tags=";
- // Find all the rows in the table that makes up the
- // episodes list.
- var mylistRows = document.evaluate(
- '//table[@class="mylist"]/tbody/tr',
- document,
- null,
- XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
- null);
- var seasonHeaders = new Array();
- var showName;
- for(var i=0 ; i < mylistRows.snapshotLength ; i++){
- var row = mylistRows.snapshotItem(i);
- if(row.className == "header"){
- // Header row, need only extend it to add tbp colum
- th = getEmptyHeaderCell();
- row.appendChild(th);
- if(row.childNodes[1].className=="season"){
- seasonHeaders[seasonHeaders.length]=th;
- }
- } else if(row.className.substring(0,7)=="Episode"){
- // Episode row. Extract information and add link.
- // Find episode data
- var theDate;
- var episodeNumber;
- var episodeName;
- for(var j=0 ; j<row.childNodes.length; j++){
- var td = row.childNodes[j];
- // DATE
- if(td.className=="date"){
- // Date can also be time.
- // Proper date contains either an A tag or is 11 characters
- // dd-MM-yyyy, either way the innerHTML length is > 6
- if(td.innerHTML.length>6){
- // Got the one.
- if(td.childNodes[0].nodeType==1){
- // Date is inside an A tag.
- theDate = td.childNodes[0].innerHTML;
- } else {
- theDate = td.innerHTML;
- }
- }
- // SHOW NAME
- } else if(td.className=="showname"){
- // May be inside an A tag
- if(td.childNodes[0].nodeType==1){
- // Date is inside an A tag.
- showName = td.childNodes[0].innerHTML;
- } else {
- showName = td.innerHTML;
- }
- // EPISODE NUMBER
- } else if(td.className=="longnumber"){
- episodeNumber = "S"+ td.innerHTML.replace("x","E");
- // EPISODE NAME
- } else if(td.className=="epname"){
- // Always inside an A tag
- episodeName = td.childNodes[0].innerHTML;
- }
- }
- // Add link.
- row.appendChild(
- getTPBcell(
- createSearchURL(
- showName,
- episodeNumber,
- episodeName),
- hasNotAired(theDate)
- )
- );
- }
- }
- for(var i=0 ; i<seasonHeaders.length ; i++){
- var th = seasonHeaders[i];
- th.appendChild(getShowSeasonLink(showName,i+1));
- th.style.paddingRight="2px";
- }
- if(seasonHeaders.length>0){
- // Add Episodes by Show link to find all episodes on ThePirateBay
- var offset = 11;
- // Check if the episode is on 'my list'
- var tvRageLink = document.evaluate(
- '/html/body/table/tbody/tr/td[2]/div[@id="divContainer"]/div[@id="myepisodes_views"]/table[5]/tbody/tr[2]/td/a',
- document,
- null,
- XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
- null).snapshotItem(0);
- if(tvRageLink==null){
- tvRageLink = document.evaluate(
- '/html/body/table/tbody/tr/td[2]/div[@id="divContainer"]/div[@id="myepisodes_views"]/table[2]/tbody/tr[2]/td/a',
- document,
- null,
- XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
- null).snapshotItem(0);
- offset = 5;
- }
- tvRageLink.innerHTML="Info"
- var theDiv = document.evaluate(
- '//div[@id="myepisodes_views"]',
- document,
- null,
- XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
- null).snapshotItem(0);
- var tvrageTable = theDiv.childNodes[offset];
- tvrageTable.style.cssFloat= "left";
- tvrageTable.style.marginRight= "10px";
- var table = document.createElement("table");
- table.style.border = "1px solid black";
- table.cellPadding = "6";
- table.cellSpacing = "0";
- theDiv.insertBefore(table,theDiv.childNodes[offset+1]);
- table.innerHTML+="<tbody><tr class='header' align='center'><td style='border-bottom: 1px solid black;'>ThePirateBay</td></tr><tr align='center'><td><a href='https://ncore.cc/torrents.php?nyit_sorozat_resz=true&kivalasztott_tipus%5B%5D=xvidser_hun&kivalasztott_tipus%5B%5D=xvidser&kivalasztott_tipus%5B%5D=dvdser_hun&kivalasztott_tipus%5B%5D=dvdser&kivalasztott_tipus%5B%5D=hdser_hun&kivalasztott_tipus%5B%5D=hdser&mire=" + showName + searchAttributes + "' target='_blank' class='flatbutton'>Search</a></td></tr></tbody>";
- var epByShowHeader = document.evaluate(
- '/html/body/table/tbody/tr/td[2]/div[@id="divContainer"]/div[@id="myepisodes_views"]/div/div',
- document,
- null,
- XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
- null).snapshotItem(0)
- epByShowHeader.innerHTML = "<div style='float:right; padding-top: 8px; padding-right: 2px; font-size: 12pt;'>" + showName + "</div>";
- }
- // ***************
- // Functions begin
- // ***************
- // Create empty header cell (th) used for cosmetic effect
- function getEmptyHeaderCell(){
- var th = document.createElement("th");
- th.appendChild(document.createTextNode("\u00a0"));
- return th;
- }
- // Create the table cell (td) that contains the nCore link.
- function getTPBcell(linkURL, fadeLink){
- var td = document.createElement("td");
- td.style.paddingLeft="2px";
- td.style.paddingRight="2px";
- var link = document.createElement("a");
- link.href=linkURL;
- link.target = "_blank";
- link.addEventListener("mouseover",linkOver,false);
- link.addEventListener("mouseout",linkOut,false);
- link.appendChild(document.createTextNode("nCore"));
- if(fadeLink){
- link.style.color = "grey";
- }
- td.appendChild(link);
- return td;
- }
- function getShowSeasonLink(showName, season){
- var link = document.createElement("a");
- link.href= createSimpleSearchURL(showName + " S0" + season);
- link.target = "_blank";
- link.addEventListener("mouseover",linkOver,false);
- link.addEventListener("mouseout",linkOut,false);
- link.appendChild(document.createTextNode("nCore"));
- link.style.fontWeight="normal";
- return link;
- }
- // Create the PirateBay search URL
- function createSearchURL(showName, episodeNumber, episodeName){
- searchterm = showName + " " + trimNumber(episodeNumber);
- return createSimpleSearchURL(searchterm);
- }
- function createSimpleSearchURL(searchterm){
- var url = "https://ncore.cc/torrents.php?nyit_sorozat_resz=true&kivalasztott_tipus%5B%5D=xvidser_hun&kivalasztott_tipus%5B%5D=xvidser&kivalasztott_tipus%5B%5D=dvdser_hun&kivalasztott_tipus%5B%5D=dvdser&kivalasztott_tipus%5B%5D=hdser_hun&kivalasztott_tipus%5B%5D=hdser&mire=" +
- searchterm + searchAttributes;
- return url;
- }
- // Trim leading zeros from episode number
- function trimNumber(s) {
- return s.replace(/^0+/, '');
- }
- // Event handler when mouseover a link
- function linkOver(){
- this.style.textDecoration = "underline";
- }
- // Event handler when mouseout a link
- function linkOut(){
- this.style.textDecoration = "none";
- }
- // Is the supplied date in the future?
- // dateString format: dd-MMM-yyyy (e.g. 16-Dec-2008)
- function hasNotAired(dateString){
- if(dateString == "Unknown"){
- return true;
- }
- var theDate = new Date();
- year = dateString.substring(7,11);
- day = dateString.substring(0,2);
- month = dateString.substring(3,6);
- switch(month) {
- case "Jan": month = 0; break;
- case "Feb": month = 1; break;
- case "Mar": month = 2; break;
- case "Apr": month = 3; break;
- case "May": month = 4; break;
- case "Jun": month = 5; break;
- case "Jul": month = 6; break;
- case "Aug": month = 7; break;
- case "Sep": month = 8; break;
- case "Okt": month = 9; break;
- case "Nov": month = 10; break;
- case "Dec": month = 11; break;
- default: month = 1;
- }
- theDate.setFullYear(year,month,day);
- var today = new Date();
- return theDate>today;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement