// ==UserScript==
// @name 1337x - Torrent page improvements
// @namespace NotNeo
// @version 1.5.6
// @description Makes titles longer on the torrent page and optionally enables the detail box when available.
// @author NotNeo
// @license unlicense
// @match *://*.1337x.to/account
// @match *://*.1337x.to/torrent/*
// @match *://*.1337x.st/account
// @match *://*.1337x.st/torrent/*
// @match *://*.1337x.ws/account
// @match *://*.1337x.ws/torrent/*
// @match *://*.1337x.eu/account
// @match *://*.1337x.eu/torrent/*
// @match *://*.1337x.se/account
// @match *://*.1337x.se/torrent/*
// @match *://*.1337x.is/account
// @match *://*.1337x.is/torrent/*
// @match *://*.1337x.gd/account
// @match *://*.1337x.gd/torrent/*
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @downloadURL https://update.greasyfork.icu/scripts/33379/1337x%20-%20Torrent%20page%20improvements.user.js
// @updateURL https://update.greasyfork.icu/scripts/33379/1337x%20-%20Torrent%20page%20improvements.meta.js
// ==/UserScript==
var imdbThing, foundIMDB, containerFailureCounter = 0;
var domainArr = [
"1337x.to/account",
"1337x.st/account",
"1337x.ws/account",
"1337x.eu/account",
"1337x.se/account",
"1337x.is/account",
"1337x.gd/account"
]
function AreInAccount() {
let istrue = false;
domainArr.forEach(function(cur){
if(window.location.href.indexOf(cur) >= 0) {
istrue = true;
return false; //breaks out of foreach, not outer function
}
});
return istrue;
}
var hideStreamButt = false;
var hideAnonButt = false;
var hideDirectButt = false;
var usingDetailBox = true;
var usingIMDBLinker = true;//setting to default
if( GM_getValue("usingDetailBox") != null ) {
usingDetailBox = GM_getValue("usingDetailBox"); //overriding with saved settings if there is one
}
if( GM_getValue("hideAnonButt") != null ) {
hideAnonButt = GM_getValue("hideAnonButt"); //overriding with saved settings if there is one
}
if( GM_getValue("hideStreamButt") != null ) {
hideStreamButt = GM_getValue("hideStreamButt"); //overriding with saved settings if there is one
}
if( GM_getValue("hideDirectButt") != null ) {
hideDirectButt = GM_getValue("hideDirectButt"); //overriding with saved settings if there is one
}
if( GM_getValue("usingIMDBLinker") != null ) {
usingIMDBLinker = GM_getValue("usingIMDBLinker"); //overriding with saved settings if there is one
}
var imdbInfoText = "If the uploader has an imdb link anywhere in his description, then the button will take you directly to the imdb page for that movie.\\nIf however there is no imdb link in the description, the button will take you to the search results page for the movie name instead.";
if(AreInAccount()) { //if on settings page
document.getElementById("settings").innerHTML = '
' +
' ?
' +
'
' +
'
' +
'
' + document.getElementById("settings").innerHTML;
document.getElementById("useDetailCheckbox").checked = usingDetailBox; //settings checkbox checked value to saved value (or default, if none are saved)
document.getElementById("hideAnonCheckbox").checked = hideAnonButt; //settings checkbox checked value to saved value (or default, if none are saved)
document.getElementById("hideDirectCheckbox").checked = hideDirectButt; //settings checkbox checked value to saved value (or default, if none are saved)
document.getElementById("hideStreamCheckbox").checked = hideStreamButt; //settings checkbox checked value to saved value (or default, if none are saved)
document.getElementById("usingIMDBLinker").checked = usingIMDBLinker; //settings checkbox checked value to saved value (or default, if none are saved)
document.getElementById("useDetailCheckbox").onchange = function() { //on value change
usingDetailBox = document.getElementById("useDetailCheckbox").checked; //settings current value to the the new
GM_setValue("usingDetailBox", usingDetailBox); //saving current value
};
document.getElementById("hideAnonCheckbox").onchange = function() { //on value change
hideAnonButt = document.getElementById("hideAnonCheckbox").checked; //settings current value to the the new
GM_setValue("hideAnonButt", hideAnonButt); //saving current value
};
document.getElementById("hideDirectCheckbox").onchange = function() { //on value change
hideDirectButt = document.getElementById("hideDirectCheckbox").checked; //settings current value to the the new
GM_setValue("hideDirectButt", hideDirectButt); //saving current value
};
document.getElementById("hideStreamCheckbox").onchange = function() { //on value change
hideStreamButt = document.getElementById("hideStreamCheckbox").checked; //settings current value to the the new
GM_setValue("hideStreamButt", hideStreamButt); //saving current value
};
document.getElementById("usingIMDBLinker").onchange = function() { //on value change
usingIMDBLinker = document.getElementById("usingIMDBLinker").checked; //settings current value to the the new
GM_setValue("usingIMDBLinker", usingIMDBLinker); //saving current value
};
}
else {
var title = document.getElementsByTagName("title")[0].textContent;
title = title.substring(9, title.length-16);
var titleArea = document.getElementsByClassName("box-info-heading")[0];
if(titleArea.getElementsByTagName("span").length == 2 && title.length > 100) {
title = title.substring(0, 100) + "...";
} else if(titleArea.getElementsByTagName("span").length >= 3 && title.length > 85) {
title = title.substring(0, 85) + "...";
}
titleArea.getElementsByTagName("h1")[0].textContent = title;
if(usingDetailBox) {
var realDetailBox = document.getElementsByClassName("torrent-detail")[0];
if(realDetailBox !== undefined) {
if(!(realDetailBox.offsetWidth > 0 && realDetailBox.offsetHeight > 0)) { //if realDetailBox is not visible, make own
var datHTML = realDetailBox.innerHTML;
document.getElementsByClassName("torrent-category-detail")[0].innerHTML += '