// ==UserScript==
// @name IHA.EE GIF'I EEMALDAJA (TASUTA VIP 1.1)
// @version 1.1
// @description Script for enhanching the erotical experience using iha.ee
// @author Nigol
// @run-at document-idle
// @match https://iha.ee/*
// @include https://*.iha.ee/*
// @include https://*.iha.ee/*
// @include https://www.iha.ee/index.php?mode=main
// @require http://code.jquery.com/jquery-3.4.1.min.js
// @grant none
// @namespace https://greasyfork.org/users/578974
// @license MIT
// ==/UserScript==
/* globals jQuery, $, Cookies */ // eslint to remove warnings for jquery
window.addEventListener("load", function(event) {
$(document).ready(function() {
/* // Read data from the cookie to get the persons localization settings (language)
var user_language;
// Use a switch statement to identify the language. Cookies.get() returns a integer, so we must change it to a string.
switch(+(Cookies.get('Lang'))) {
case 1:
user_language = "estonian";
break;
case 2:
user_language = "english";
break;
case 3:
user_language = "latvian";
break;
case 4:
user_language = "finnish";
break;
case 5:
user_language = "russian";
}
console.log(`[iha.vip] lang=${user_language}`)
*/
// First of all, check in which section of the page the current user is. Stores the URL as a variable
var user_absolute_path = window.location.href ? window.location.href : NaN;
// Split the string and get the first element of the array, which is the path of the website'
if (user_absolute_path) {
var user_current_path = user_absolute_path.split('?')[0];
try {
// Split the string and get the second element of the array, which is the current mode (section) of the webpage
// Also remove all unwanted parts of the string (php variables (& and anything after that)
var user_current_mode = user_absolute_path.split('?')[1].replace(/\&.*/,'');
} catch(error) {
// console.log(`[iha.vip.error] abs_path=${user_absolute_path}`); # debug shit
// error means that no mode was found, set default mode "default"
user_current_mode = "mode=default";
};
};
console.log(`[iha.vip] ${user_current_mode}`);
// not sure why the fuck this is included?
// console.log($("#users_login"));
// Change the ugly font on the site
var s = document.createElement("style");
s.type = "text/css";
s.textContent = "* { font-family: 'Trebuchet MS', sans-serif !important; }";
$('td.gray1_bg').each(function() {
$(this).css({
'vertical-align': 'middle',
'text-align': 'center'
})
});
document.head.appendChild(s);
// === CONFIG ===
// Make certain parts of the webpage visible or hidden.
// Edit here. Boolean - false to hide, true to show the content.
const show_news = false; // -- Default - true. Change to false if you want to not see the news feed on the page.
const show_last_top_10 = false; // -- Default - true. Change to false if you do not want to see the last top users that received a score of 10 on their images.
const show_users_birthday = false; // -- Default - true. Change to false if you do not want to see the users having a birthday today.
const show_online_users = false; // -- Default - true. Change to false if you wish to not see users currently online.
// Get the page title and change it
var page_title = document.title;
// Check if the page title contains "|" (shows the users current location on the webpage. If no "|" is found, change the page title to "Iha.ee - Tasuta VIP". If "|" is in the document title, change it to "{Current location on page} | Iha.ee - Tasuta VIP
// First of all check if the page contains "|"
if (page_title.includes("|") == true) {
var page_current_location = page_title.split("|")[0];
document.title = `${page_current_location} | Iha.ee - Tasuta VIP`
}
else {
document.title = "Iha.ee - Tasuta VIP"
};
// Change the wallpaper of the site
$('body').css('background-image', 'url(https://i.ibb.co/hR726CC/iha-background.jpg)');
$('body').css('background-size', 'cover');
$('body').attr('id', 'iha-vip-exec');
// add id to the page, and when id is loaded, execute the script. this guarantees that the script is ran when entering the website.
if($('body').attr('id')) {
// Remove the iha.ee gif sitewide
var iha_ee_gif = $("img[src$='https://www.iha.ee/images/edf83jd7s6djfkgie843u4.gif']");
$(iha_ee_gif).fadeTo("fast", 0);
// Remove the white banner thingy
var iha_ee_ad_banner = $('#TICKER');
$(iha_ee_ad_banner).remove();
// Later implement a automatic solution that does not take gif source into input
// Remove the small preview gifs when looking at photos
var iha_ee_preview_gif = $("img[src$='https://www.iha.ee/images/edf83us7fkslaowie0937s.gif']");
$(iha_ee_preview_gif).fadeTo("fast", 0);
// Find the iha.ee logo and replace it with my own logo, iha.ee tasuta vip
var iha_logo = $("img[src$='https://www.iha.ee/images/www_iha_1.gif?170120']");
$(iha_logo).fadeOut("slow", function() {
$(iha_logo.attr('src','https://i.ibb.co/Ky5VG0z/iha-tasuta-vip-logo.gif')).fadeIn();
});
// Find the iha slogan and replace it with my own
var iha_slogan = $("img[src$='https://www.iha.ee/images/www_iha_slog_1.gif?140313']");
$(iha_slogan).fadeOut("slow", function() {
$(iha_slogan.attr('src', 'https://i.ibb.co/kGj6z5L/iha-slogan.jpg')).fadeIn();
});
// Remove the dumb fucking sex ads and replace them with my own content
// history of sex ads
// var top_ad = $("img[src$='https://www.iha.ee/stats/stats/203b198657.gif']");
// var top_ad = $("img[src$='https://www.iha.ee/stats/stats/203b628019.gif']");
var top_ad = $("img[src$='https://www.iha.ee/stats/stats/203b525622.gif']");
$(top_ad).fadeOut("slow", function() {
$(top_ad.attr('src', 'https://i.ibb.co/dPwgWpy/iha-top-ad-gif.gif')).fadeIn();
// Get the href of the image and replace it with my Github
var top_ad_href = top_ad.parent()
$(top_ad_href).attr("href", "https://github.com/raitnigol");
});
// Remove the text "Sisuturundus"
// Find the closest table to the top ad, find the td that contains the text and change the text to empty
var top_ad_text = $(top_ad).closest('table').find('tr').find('td').parent()[0];
$(top_ad_text).remove();
// Remove the bottom ad
var bottom_ad = $("img[src$='https://www.iha.ee/stats/stats/202b127105.png']");
$(bottom_ad).fadeOut("fast", 0);
// Remove the bottom ad if source is .gif
var second_bottom_ad = $("img[src$='https://www.iha.ee/stats/stats/200b915890.gif']");
$(second_bottom_ad).fadeOut("fast", 0);
// Get all table elements that contain images
var images_gif = $('table').find('img.Top_pic[src$=".gif"]');
// Filter through the images to get only images that do have .gif on top of them
$(images_gif).fadeTo("fast", 0);
// Remove the login texts
$("a:contains('Selle pildi nägemiseks pead olema sisse logitud!')").parent().remove();
//#continuer
};
//document.body.style.backgroundImage = ('url(https://i.ibb.co/hR726CC/iha-background.jpg)'); - vanilla JS method for the same thing
// Check the current language of the user to make it work in all languages, not only in Estonia
// This is needed because some elements are found by text, like the text that says you have to log in to see the content
// and it changes depending on the language selected
// TODO: ADD CODE HERE THAT WORKS WITH DIFFERENT LANGUAGES
// Check the config of the file and delete content based on it
if (show_news == false && show_last_top_10 == false) {
$("td.bubble_top:contains('Uudised')").parents('tbody').eq(1).remove();
}
if (show_users_birthday == false && show_online_users == false) {
$("td.bubble_top:contains('Tänased sünnipäevalapsed')").remove();
$("td.bubble_top:contains('Hetkel Online')").remove();
$('table.FourBorder_b').remove();
}
// I do not like to use selectors to remove something, but this is the way I have to do it right now. Maybe implement a better solution later?
// It can also fuck up things bad if the selectors change in position, but fuck it.
// Remove the random pink shit at the end of the page
$("body > div:nth-child(7) > table > tbody > tr:nth-child(2) > td > table:nth-child(2) > tbody > tr:nth-child(2)").remove();
// Remove the right side of the page showing VIP of today and statistics, because no one gives a fuck.
$("body > div:nth-child(7) > table > tbody > tr:nth-child(2) > td > table:nth-child(2) > tbody > tr > td.right_side").remove();
// Remove the voting thing from top of images
$("body > div:nth-child(8) > table > tbody > tr:nth-child(2) > td > table:nth-child(2) > tbody > tr:nth-child(1) > td.center_td > table:nth-child(3) > tbody > tr:nth-child(2) > td > table:nth-child(1)").remove();
// We can remove the iha.ee gif sitewide because it is a single gif. The reason I am not only removing the gif with one line of code is because
// when the gif URL gets changed (current: https://www.iha.ee/images/edf83jd7s6djfkgie843u4.gif), I would manually have to edit the code to remove the new gif.
// So I think this approach is the best.
// Get the URL of the image to later copy on click
var imgURL = undefined;
// I am not that smart so I do not fucking know why the element was changed, but instead of being nth-child(7) it is now nth-child(8). This fucked up the code. Future reminder for me when fixing code.
var img = document.querySelector("body > div:nth-child(8) > table > tbody > tr:nth-child(2) > td > table:nth-child(2) > tbody > tr:nth-child(1) > td.center_td > table:nth-child(3) > tbody > tr:nth-child(2) > td > table:nth-child(2) > tbody > tr > td > table > tbody > tr:nth-child(2) > td");
imgURL = $(img).css('background-image');
imgURL = imgURL.replace(/(url\(|\)|")/g, '');
$(img).children().attr("href", "javascript:void(0)");
// Show the image URL on top of the image
var show_image_url_element = document.getElementsByClassName("muu")[3];
show_image_url_element.innerHTML = `<a href=${imgURL} target="_blank">${imgURL} | ava pilt uues aknas</a>`;
// Create a new child element to display that upon clicking the image you can copy it.
$(show_image_url_element).append('<p>Vajuta pildile, et kopeerida pildi URL</p>');
// When clicking on an image, copy the URL of the image
img.addEventListener("click", picture_click);
function picture_click() {
var dummy = $('<input>').val(imgURL).appendTo('body').select();
document.execCommand('copy');
$(dummy).hide(); // The image URL gets appended to the bottom of the page - hide it after clicking on it. When removing it, the page you enter will have grey background. I dont know how to fix it lol
};
// The default image resolution on iha.ee is 640x480. Check the image resolution on the remote url and if it is larger, make the iha.ee's resolution match
function set_image_resolution() {
// Get the remote image URL
// If something happens, it might be that the nth-child(8) selector is now updated so the code needs to be fixed
var image = document.querySelector("body > div:nth-child(8) > table > tbody > tr:nth-child(2) > td > table:nth-child(2) > tbody > tr:nth-child(1) > td.center_td > table:nth-child(3) > tbody > tr:nth-child(2) > td > table:nth-child(3) > tbody > tr > td > table > tbody > tr:nth-child(2) > td");
var imageURL = $(image).css('background-image');
imageURL = imageURL.replace(/(url\(|\)|")/g, '');
// Get the resolution
const imgSrc = imageURL;
const img = new Image();
img.src = imgSrc;
img.onload = function() {
document.body.appendChild(img);
var image_width = img.width;
var image_height = img.height;
// Set the resolution
$(image).width(image_width)
$(image).height(image_height)
$(img).remove();
}
}
set_image_resolution();
// If not logged in, remove the "add comment" section
$(".AddCommentForm:contains('Lisa kommentaar')").remove();
});
}, false);