Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten

 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #1


12.04.2018 21:04


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Ich habe mir mal was gebastelt und vielleicht hat ja der eine oder andere auch Interesse, insbesondere das @kt .

Das unten gepostete Tampermonkey script fuegt einen Button in den ersten Post eines Threads ein. Wird dieser geklickt, durchforstet das Script saemtliche Seiten des Threads und fuegt alle gefundenen Bilder in den ersten Post ein:



Alle Veraenderungen sind fluechtig und nur auf dem lokalen Rechner desjenigen zu sehen, der das Script bei sich ausfuehrt. Es gibt absolut KEINE Veraenderungen am Quellcode von WahreTabelle oder dem geposteten Inhalt.
Ich persoenlich denke daher nicht, dass es zu rechtlichen Problemen kommen sollte. Wenn von den Betreibern gewuenscht, koennen sie den Quellcode (also diesen Post) natuerlich loeschen, aber nichts kann mich davon abhalten diese kleine Erweiterung zu verwenden. Stelle sie auch gern jedem zur Verfuegung, der mich darauf anspricht.

Ein paar Anmerkungen:
- das ist mein erster Versuch mit JavaScript und Tampermonkey
- das Ganze ist ohnehin als Beta anzusehen
- leider ist der HTML Code von WahreTabelle nicht optimal strukturiert fuer dieses Vorhaben. Etwaige kleine Aenderungen am Layout koennten dafuer sorgen, dass das Script nicht mehr funktioniert und angepasst werden muss. Eventuell reicht auch schon eine abweichende Bildschirmaufloesung. Wird sich zeigen
- ich habe es nur unter Chrome mit der Tampermonkey Erweiterung getestet, kann also nicht sagen, ob es unter Firefox/Greasemonkey funkioniert

Installation:
- In Chrome die Tampermonkey Erweiterung installieren
- Tampermonkey Dashboard oeffnen und auf das kleine "+' klicken
- Quellcode per Copy&Paste einfuegen (vorhandenen Rumpf-Code ueberschreiben)

Wuerde mich ueber Rueckmeldungen freuen!


Nach den Sternchen beginnt der Code:

******************************************************

// ==UserScript==
// @name         WahreTabelle: Alle Bilder auf der ersten Seite
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Lade alle Seiten des Threads und durchforste sie nach eingestellten Bildern. Dann fuege alle gefundenen Bilder in den ersten Post ein
// @author       mahlzeit
// @match        https://www.wahretabelle.de/forum/*
// @grant        GM.xmlHttpRequest
// ==/UserScript==

var pageCount = 0;
var allPics = [];
var title = false;

function callback(response){
    //this function is called once a subsequent page has been loaded

    //move the response into a new document and process it
    var newdoc = document.implementation.createHTMLDocument("");
    newdoc.documentElement.innerHTML = response.responseText;
    process(newdoc);
}

function getNextPage(pdoc){
    //check that the "next" url is different from the current page, so that we have a stop condition
    if(pdoc.getElementsByClassName('next')[0].getElementsByTagName('a')[0].href != pdoc.getElementsByClassName('page selected')[0].getElementsByTagName('a')[0].href)
    {
        //request the "next" page and ask for function "callback" to be called once it's loaded
        var newdoc = GM.xmlHttpRequest({
            method: "GET",
            url: pdoc.getElementsByClassName('next')[0].getElementsByTagName('a')[0].href,
            onload:callback
        });
    }
}

function process(pdoc){
    pageCount++;
    var picarray = [];

    //get all posts. Note: class name "nine columns p5 text-forum-box" is probably kind of shaky
    var posts = pdoc.getElementsByClassName("nine columns p5 text-forum-box");

    //loop through posts and search for images
    for(i=0;i<posts.length; i++){
        var pics = posts.getElementsByTagName("img");
        for(j=0;j,j<pics.length;j++){
            // check if the same image has already been stored in the array so that we avoid double postings...like from quotes...and also ignore smileys and stuff (loaded from wahretabelle.de)
            if(!allPics.includes(pics[j].src) && !pics[j].src.includes('wahretabelle.de')){
                picarray.push(pics[j].src);
                allPics.push(pics[j].src);
            }
        }
    }

    //get all the posts from page 1. We'll need this because we want to inject the images into Post #1, which is on page 1
    var postsPage1 = document.getElementsByClassName("nine columns p5 text-forum-box");

    if(!title && picarray.length>0){
        //little disclaimer on top
        postsPage1[0].innerHTML = postsPage1[0].innerHTML + '<br><b>Die folgenden Bilder stammen nicht aus dem Ursprungspost, sondern sind eine Sammlung aller eingestellten Bilder dieses Threads</b><br>';
        title = true;
    }

    //process if any pictures were found on the current page
    if(picarray.length > 0){
        postsPage1[0].innerHTML = postsPage1[0].innerHTML + '<br><br><br><b>Bilder von Seite ' + pageCount + ':</b><br>';

        //add all images
        for(i=0;i<picarray.length;i++){
            postsPage1[0].innerHTML = postsPage1[0].innerHTML + '<br><img src="' + picarray + '">';
        }
    }

    //process next page
    var nextPage = getNextPage(pdoc);
}

//check if we are seeing a page with the first post
if(document.getElementById('main').innerHTML.includes('#1</a>')){

    // 1. Create the button
    var button = document.createElement("button");
    button.innerHTML = "Lade alle Bilder des Threads";

    // 2. Append somewhere
    var body = document.getElementsByClassName("nine columns p5 text-forum-box")[0];
    //var body = document.getElementsByTagName("body")[0];
    body.appendChild(button);

    // 3. Add event handler
    button.addEventListener ("click", function() {

        //disable button
        button.disabled = true;

        //process current page
        process(document);

    });
}



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


2  Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #2


12.04.2018 22:26


lufdbomp
lufdbomp

Bayern München-FanBayern München-Fan

lufdbomp
Mitglied seit: 26.02.2008

Aktivität:
Beiträge: 9623

@mahlzeit

Zitat von mahlzeit
Ich habe mir mal was gebastelt und vielleicht hat ja der eine oder andere auch Interesse, insbesondere das @kt .


Vielen Dank für diese Idee. Ich leite sie mal an die @technik weiter.
Inwieweit das umsetzbar ist (auch in rechtlicher Hinsicht), kann ich nicht beurteilen.



www.dkms.de - lasst Euch registrieren


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #3


12.04.2018 22:35


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Habe mich evtl nicht ganz klar ausgedrueckt. Fuer die Loesung muss das Technik Team gar nichts tun. Wer sie verwenden will, muss sich die Tampermonkey Erweiterung fuer Google Chrome installieren und das Script dort hineinkopieren. Auf dem lokalen Rechner laeuft dann ein bisschen Logik, dass die Bilder zusammensucht. 

Funktioniert fuer mich bis jetzt ganz gut.
 



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #4


12.04.2018 22:37


lufdbomp
lufdbomp

Bayern München-FanBayern München-Fan

lufdbomp
Mitglied seit: 26.02.2008

Aktivität:
Beiträge: 9623

@mahlzeit

Zitat von mahlzeit
Habe mich evtl nicht ganz klar ausgedrueckt. Fuer die Loesung muss das Technik Team gar nichts tun. Wer sie verwenden will, muss sich die Tampermonkey Erweiterung fuer Google Chrome installieren und das Script dort hineinkopieren. Auf dem lokalen Rechner laeuft dann ein bisschen Logik, dass die Bilder zusammensucht. 
Funktioniert fuer mich bis jetzt ganz gut.
 

Ah OK - ich kenne mich in diesem Bereich ganz und gar nicht aus
 



www.dkms.de - lasst Euch registrieren


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #5


12.04.2018 22:54


SCF-Dani


SC Freiburg-FanSC Freiburg-Fan


Mitglied seit: 31.08.2015

Aktivität:
Beiträge: 8893

@mahlzeit

Überragend, wie schnell du ein Script erstellt hast.
Leider funktioniert es bei mir noch nicht. Der Button wird angezeigt, bei einem Klick darauf passiert allerdings nichts mehr.



 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #6


12.04.2018 22:58


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Danke fuers Ausprobieren! Schade, dass es bei dir nicht stabil laeuft. Ich nehme schon an, dass du es in einem Thread ausprobiert hast, der Bilder enthaelt, oder?
Vielleicht kannst du mir ein paar Informationen zukommen lassen:

- Nutzt du Chrome+Tampermonkey oder Firefox+Greasemonkey?
- Kannst du mir den Seitenquelltext des Threads schicken? Muss mal schauen, ob das Layout bei dir anders ist und daher die Posts oder der Link zur naechsten Seite nicht richtig erkannt wird. Gerne auch als PN oder per pastebin.com



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #7


13.04.2018 13:47


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Aktuelle Version:

https://pastebin.com/PVfAwWCY



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #8


15.04.2018 13:59


creative
creative

VfB Stuttgart-FanVfB Stuttgart-Fan


Mitglied seit: 25.02.2008

Aktivität:
Beiträge: 7337

@mahlzeit

Zitat von mahlzeit
Aktuelle Version:

https://pastebin.com/PVfAwWCY


Danke für das Tool. Aber kann man das vielleicht irgendwie so abändern, das man die Bildern immer am Anfang einer jeden Seite hat.

Also wenn ein Thema mehrere Seiten hat, jeweils immer da auf den Anfang einer Seite?



Kämpfen und Siegen! #Wehrle Raus! #Adrion Raus! #Raus mit Claus!!!!!!!!!!! #FCFairPlay Raus!


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #9


15.04.2018 14:34


MKsge92
MKsge92

Eintr. Frankfurt-FanEintr. Frankfurt-Fan


Mitglied seit: 09.12.2014

Aktivität:
Beiträge: 4267

@mahlzeit

Zitat von mahlzeit
Aktuelle Version:

https://pastebin.com/PVfAwWCY

Danke für das Tool

Kleine Anmerkung: Bei mir (Firefox+greasemonkey) werden auch die Pro/Veto Symbole als Bilder angezeigt genauso wie die Smileys.



 



Bitte beachten: Dieser Beitrag gibt meine subjektive Meinung wieder!


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #10


15.04.2018 14:57


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Danke für die Rückmeldungen. Werde mir beide Sachen im Laufe der nächsten Woche mal anschauen. 



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #11


15.04.2018 23:56


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Ist doch interessant welche Unterschiede es in der JavaScript imlementierung zwischen Firefox und Chrome gibt. 

Neue Version (0.3):
https://pastebin.com/raw/djFBttQp

Changelog:
- Fix: Zeige keine Smileys und Voting Buttons (nur Firefox betroffen)
- Feature: Funktion steht nun im ersten Post JEDER Seite zur Verfuegung
- Feature: Automatische Updates direkt aus Chrome/Tampermonkey. (Aktuelle Greasemonkey Version unterstuetzt derzeit keine User-Script Updates)



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #12


20.04.2018 21:56


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

@MKsge92

@MKsge92
@creative

Funktioniert es jetzt fuer euch wie gewuenscht?



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #13


20.04.2018 22:07


MKsge92
MKsge92

Eintr. Frankfurt-FanEintr. Frankfurt-Fan


Mitglied seit: 09.12.2014

Aktivität:
Beiträge: 4267

@mahlzeit

Zitat von mahlzeit
@MKsge92

Funktioniert es jetzt fuer euch wie gewuenscht?


Ja also bislang ist mir das Beschriebene nicht nochmal aufgefallen.



Bitte beachten: Dieser Beitrag gibt meine subjektive Meinung wieder!


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #14


21.04.2018 15:00


creative
creative

VfB Stuttgart-FanVfB Stuttgart-Fan


Mitglied seit: 25.02.2008

Aktivität:
Beiträge: 7337

@mahlzeit

Zitat von mahlzeit
Funktioniert es jetzt fuer euch wie gewuenscht?


Bis jetzt ist es so wie davor auch.



Kämpfen und Siegen! #Wehrle Raus! #Adrion Raus! #Raus mit Claus!!!!!!!!!!! #FCFairPlay Raus!


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #15


21.04.2018 15:16


Antarex
Antarex

Bor. M'Gladbach-FanBor. M'Gladbach-Fan


Mitglied seit: 01.09.2009

Aktivität:
Beiträge: 3261

gerade darüber gestolpert:

sehr cool - danke dafür!!!

FF - Quantum - bislang null Probleme.



 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #16


21.04.2018 16:06


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

@creative

Zitat von creative
Zitat von mahlzeit
Funktioniert es jetzt fuer euch wie gewuenscht?


Bis jetzt ist es so wie davor auch.


Hast du die aktuelle Version ausprobiert? Zu finden unterhttps://pastebin.com/raw/djFBttQp



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #17


21.04.2018 16:23


creative
creative

VfB Stuttgart-FanVfB Stuttgart-Fan


Mitglied seit: 25.02.2008

Aktivität:
Beiträge: 7337

Jetzt vielen Dank.



Kämpfen und Siegen! #Wehrle Raus! #Adrion Raus! #Raus mit Claus!!!!!!!!!!! #FCFairPlay Raus!


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #18


21.04.2018 22:17


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Neue Version online auf https://pastebin.com/raw/djFBttQp

Neuerung:
Die Bilder sind jetzt mit einem Link zum entpsrechenden Post unterlegt. Man kann also direkt per Klick auf ein Bild dorthin navigieren.



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #19


21.04.2018 22:18


SCF-Dani


SC Freiburg-FanSC Freiburg-Fan


Mitglied seit: 31.08.2015

Aktivität:
Beiträge: 8893

@mahlzeit

Zitat von mahlzeit
Neue Version online auf https://pastebin.com/raw/djFBttQp

Neuerung:
Die Bilder sind jetzt mit einem Link zum entpsrechenden Post unterlegt. Man kann also direkt per Klick auf ein Bild dorthin navigieren.

Wird das Update jetzt automatisch eingespielt?



 Melden
 Zitieren  Antworten


 Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten  - #20


21.04.2018 22:38


mahlzeit


1. FC Köln-Fan1. FC Köln-Fan


Mitglied seit: 11.04.2012

Aktivität:
Beiträge: 944

Kommt drauf an, ob du Version 0.3 schon hattest. 
Dann weiss ich auch nicht, wie oft Tampermonkey selbst auf Updates prueft. Du kannst aber im Dashbard das Script auswaehlen und dann selbst ueber die Dropdown Box "Trigger Update" ausfuehren.



Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159


 Melden
 Zitieren  Antworten


Jetzt Registrieren

Noch keinen Account?
Jetzt registrieren und alle Vorteile der Mitgliedschaft erhalten: Mitdiskutieren, über strittige Szenen abstimmen, Schiedsrichter benoten und vieles mehr!
» Jetzt registrieren
Nutzungsbedingungen
» Jetzt lesen

Benachrichtigungshinsweise

Erwähne das gesamte Kompetenzteam
@kt oder @kompetenzteam
Erwähne alle Moderatoren
@mods
Erwähne alle Administratoren
@admins
Erwähne das Technikteam
@technik

Teile dieses Thema