makes the page usable
Version vom
// ==UserScript==
// @name tele5 mediathek view
// @namespace Violentmonkey Scripts
// @match https://tele5.de/mediathek/
// @grant none
// @description makes the page usable
// @version 0.0.1.20220226183646
// ==/UserScript==
//
// let pages = [
// {
// title:"2021 War of the Worlds: Invasion from Mars",
// subtitle:"Science-Fiction-Endzeit-Thriller mit jeder Menge CGI. Online 20.12. - 18.2.2022",
// image:"https://d2v9mhsiek5lbq.cloudfront.net/eyJidWNrZXQiOiJsb21hLW1lZGlhLWRlIiwia2V5IjoidGVsZTUtaW1hZ2UtYmJiZDU3ODktNWZhNS00MGEwLWI2MzQtMGNkMTI5NjIwZGYxLmpwZyIsImVkaXRzIjp7InJlc2l6ZSI6eyJmaXQiOiJjb3ZlciIsIndpZHRoIjo2MDAsImhlaWdodCI6Nzg1fSwianBlZyI6eyJxdWFsaXR5Ijo3NSwicHJvZ3Jlc3NpdmUiOnRydWV9fX0=",
// url:"/mediathek/2021-war-of-the-worlds-invasion-from-mars/"
// }
// ]
function unique(a) {
var r = new Array();
o: for (var i = 0, n = a.length; i < n; i++) {
for (var x = i + 1; x < n; x++) {
if (a[x] == a[i]) continue o;
}
r[r.length] = a[i];
}
return r;
}
function formatdate(datestring) {
var mydate = datestring.replace(" ", "").split(".");
var myday = mydate[0];
var mymonth = mydate[1];
var myyear = d.getFullYear();
if (myday < 10) {
myday = "0" + myday
}
if (mymonth < 10) {
mymonth = "0" + mymonth
}
// fix fürs jahresende :P
if (mymonth >= 11) {
myyear = myyear - 1
}
return myyear + "-" + mymonth + "-" + myday;
}
function writetable(which, how) {
for (var i = 0, l = which.length - 1; i < l; ++i) {
if ((which[i] != undefined) && (which[i] != "undefined"))
var filmset = which[i].split("|");
if (how == 1) {
var ab = filmset[1];
var wann = filmset[0];
} else {
var ab = filmset[0];
var wann = filmset[1];
}
var was = filmset[2];
var wo = filmset[3];
var wie = filmset[4];
var regexpd = new RegExp(" - .*", "gi");
was = was.replace(regexpd, "");
var regexpe = new RegExp(": .*", "gi");
was = was.replace(regexpe, "");
var link = '<a href="' + wo + '">';
var tablerow = '<div class="box">' + link + '<img src="' + wie + '" /></a><br />' + link + was + '</a><br />' + ab + ' - <br />' + wann + '</div>' + "\n";
if (how == 1) {
if (! (new Date(wann) - d <= 0)) {
document.write(tablerow);
}
} else {
document.write(tablerow);
}
}
}
var d = new Date();
if (pages) (function() {
var filmsa = new Array();
var filmsb = new Array();
for (var i = 0, l = pages.length; i < l; ++i) {
var filmtitle = pages[i].title;
var onlinetil = pages[i].subtitle;
if ((filmtitle != undefined) && (filmtitle != "undefined") && (filmtitle != "") && (onlinetil.indexOf(" Online ") != -1)) {
var regexpa = new RegExp(".* Online ", "gi");
onlinetil = onlinetil.replace(regexpa, "");
var regexpf = new RegExp(" -.*", "gi");
onlinefro = onlinetil.replace(regexpf, "");
var regexpg = new RegExp(".* ", "gi");
onlinefro = onlinefro.replace(regexpg, "");
var regexpb = new RegExp(".* - ", "gi");
onlinetil = onlinetil.replace(regexpb, "");
var regexpc = new RegExp(" -.*", "gi");
var onlinefrof = "";
var onlinetilf = "";
onlinefrof = formatdate(onlinefro);
onlinetilf = formatdate(onlinetil);
var linesuf = "|" + filmtitle + "|https://tele5.de" + pages[i].url + "|" + pages[i].image;
if (! (new Date(onlinefrof) - d >= 0)) {
filmsa[i] = onlinetilf + "|" + onlinefrof + linesuf;
} else if (new Date(onlinefrof) - d >= 0) {
filmsb[i] = onlinefrof + "|" + onlinetilf + linesuf;
}
}
}
filmsa = unique(filmsa);
filmsa = filmsa.sort();
filmsb = unique(filmsb);
filmsb = filmsb.sort();
var dvdr = '<div class="box"></div>';
document.write('<html><head><title>tele5 mediathek view</title><meta charset="utf-8"><style>body { margin: 40px; font-family: Arial; overflow-x: hidden; } img {width: 300px; text-decoration:none;border:none;} .wrapper { display: grid; grid-gap: 15px; grid-template-columns: 25% 25% 25% 25%; background-color: #fff; color: #444; } .box { background-color: #444; color: #fff; border-radius: 5px; padding: 20px; font-size: 100%; } .red {color: red}; .green {color: green} </style></head><body>')
document.write('<div class="wrapper">');
document.write('<div class="box"><a name="jetzt"></a></div>'+dvdr+dvdr+dvdr);
document.write('<div class="box">jetzt:</div><div class="box"><a href="#bald">bald</a></div>'+dvdr+dvdr);
writetable(filmsa, 1);
document.write('</div>');
document.write('<div class="wrapper" style="margin-top: 400px;">');
document.write('<div class="box"><a name="bald"></a></div>'+dvdr+dvdr+dvdr);
document.write('<div class="box"><a href="#jetzt">jetzt</a></div><div class="box">bald:</div>'+dvdr+dvdr);
writetable(filmsb, 0);
document.write(dvdr+dvdr+dvdr+dvdr);
document.write('</div>');
document.write('</body></html>');
window.location.hash = "#jetzt";
})();