Ergebnis 1 bis 12 von 12
  1. #1
    Nerd

    Board:Crew

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    18.486

    Standard Threadstarter in einer eigenen Spalte in der Threadübersicht

    Auf Wunsch von thom...

    Die Variable `delete_old` dient der Konfiguration; wird sie auf false gesetzt, wird der `alte` Hinweis auf den TS direkt unter der Threadüberschrift nicht entfernt.
    Code:
    var delete_old = true;
    var tds = document.getElementsByTagName("td");
    var opera_dom = (window.opera);
    for(var i=0; i<tds.length; i++) {
    	if(tds[i].firstChild && tds[i].firstChild.src && 
    	   tds[i].firstChild.src.match(/statusicon\/announcement/)) {
    		if(opera_dom)
    			tds[i].nextSibling.colSpan++;
    		else
    			tds[i].nextSibling.nextSibling.colSpan++;		
    	}
    	if(tds[i].className=='tcat' && tds[i].colSpan>6)
    		tds[i].colSpan++;
    	if(tds[i].className=='thead' && tds[i].colSpan==2) {
    		var t_head;
    		if(opera_dom)
    			t_head = tds[i].nextSibling;
    		else
    			t_head = tds[i].nextSibling.nextSibling;
    		if(t_head == null) continue;
    		var links;
    		if(t_head.innerHTML == 'Thema / Erstellt von')
    			links = t_head.innerHTML.match(/(.*?) \/ (.*)/);
    		else
    			links = t_head.innerHTML.match(/([\s\S]*?)  \/[\s\S]*?(<a [\s\S]*<\/a>)/i);
    		if(!links) continue;
    		t_head.innerHTML = links[1];
    		var new_td = document.createElement("td");
    		new_td.className = 'thead';
    		new_td.innerHTML = links[2];
    		t_head.parentNode.insertBefore(new_td,t_head.nextSibling);
    	}
    	if(tds[i].id.match(/td_title_\d+/)) {
    		var creatordiv = tds[i].getElementsByTagName("div")[1];
    		var creator = creatordiv.innerHTML.match(/<a[\s\S]*?<\/a>/i);
    		if(creator)
    			creator = creator[0];
    		else {
    			creator = creatordiv.firstChild.data;
    		}
    		var new_td = document.createElement("td");
    		new_td.className = 'alt1';
    		new_td.innerHTML = creator;
    		if(new_td.firstChild.style) {
    			new_td.firstChild.style.color = '';
    			new_td.firstChild.style.textDecoration = '';
    		}
    		tds[i].parentNode.insertBefore(new_td,tds[i].nextSibling);
    		if(delete_old) {
    			if(new_td.firstChild.style)
    				creatordiv.innerHTML = creatordiv.innerHTML.replace(/<a[\s\S]*?<\/a>/i,"");
    			else
    				creatordiv.removeChild(creatordiv.firstChild);
    			creatordiv.innerHTML = creatordiv.innerHTML.replace(/>, /,">");
    		}
    	}
    	var ats = tds[i].getElementsByTagName("a");
    	if(ats.length > 1 && ats[1].href.match(/\/postings\.php\?do=editthread/)) {
    		var creatorspan = ats[1].parentNode.nextSibling;
    		if(!opera_dom) creatorspan = creatorspan.nextSibling;
    		var link = creatorspan.getAttribute("onclick").match(/window\.open\('(.*?)'\)/)[1];
    		var name = creatorspan.innerHTML;
    		var new_td = document.createElement("td");
    		new_td.className = 'alt1';
    		new_td.innerHTML = '<a href="'+link+'">'+name+'</a>';
    		tds[i].parentNode.insertBefore(new_td,tds[i].nextSibling);
    		if(delete_old)
    			creatorspan.parentNode.removeChild(creatorspan);	
    	}
    }
    Screenshots:

    Für diesen Beitrag bedanken sich Phil94, movsky, GrafZahl_, thom53281
    Geändert von Jonny (28. 06. 2010 um 16:12 Uhr) Grund: Titelanpassung.

  2. #2
    Avatar von thom53281
    Registriert seit
    Mar 2007
    Beiträge
    5.739

    Standard

    Im Firefox funktioniert das bei mir schon recht gut, aber da gibt es leider noch ein kleines Problem mit gelöschten Usern.

    Spoiler: 


    In Opera passiert leider bisher noch gar nichts. Ich find da aber gerade auch keinen Fehler.

    Aber trotzdem schonmal danke dafür. Das ist schon tausendmal besser als meine eigenen Versuche.


  3. #3
    Nerd

    Board:Crew

    (Threadstarter)

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    18.486

    Standard

    So, die Fehler und Unschönheiten sollten behoben sein.

  4. #4
    Avatar von thom53281
    Registriert seit
    Mar 2007
    Beiträge
    5.739

    Standard

    Ah, wunderbar. Jetzt geht es. Danke.

    Edit: Kann man das auch noch irgendwie im Kontrollzentrum anwenden?

    Geändert von thom53281 (21. 12. 2008 um 14:10 Uhr)

  5. #5
    Nerd

    Board:Crew

    (Threadstarter)

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    18.486

    Standard

    Zitat von thom53281
    Edit: Kann man das auch noch irgendwie im Kontrollzentrum anwenden?
    Ja, die nötige Änderung ist drin.

  6. #6
    Avatar von thom53281
    Registriert seit
    Mar 2007
    Beiträge
    5.739

    Standard

    Ich weiß, das kann mit der Zeit nerven, aber wenn du die Änderung jetzt auch noch im Opera lauffähig kriegst, wär ich vollkommen glücklich.


  7. #7
    Nerd

    Board:Crew

    (Threadstarter)

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    18.486

    Standard

    Done.

  8. #8
    Avatar von thom53281
    Registriert seit
    Mar 2007
    Beiträge
    5.739

    Standard

    Ah, wunderbar. Danke.


  9. #9
    1, 2, 3, 4, 5, ...

    ex-Moderator

    Avatar von GrafZahl_
    Registriert seit
    Jun 2007
    Beiträge
    8.541

    Standard Re: [JS: Classic/Corporate] Threadstarter in einer eigenen Spalte in der Threadübersicht

    Bei gelöschten Threads wird der TS weiterhin auf die herkömmliche Weise angezeigt, was zu folgendem Resultat führt:


    (Titel und TS aus verständlichen Gründen unkenntlich gemacht.)

    Mir war neulich noch ein zweiter Bug aufgefallen, nur finde ich den im Moment nicht und kann mich auch nicht dran erinnern, unter welchen Umständen er auftritt.

    MfG
    GrafZahl

  10. #10
    Nerd

    Board:Crew

    (Threadstarter)

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    18.486

    Standard

    Zitat von GrafZahl_
    Bei gelöschten Threads wird der TS weiterhin auf die herkömmliche Weise angezeigt
    Ja, das habe ich mangels Testcase (den ich mir nun selbst erzeugt habe) nicht getestet. Es sollte nun funktionieren, auch wenn ich das komplett separat abfangen musste.
    Wenn dir sonst noch etwas reproduzierbares auffällt, lass es mich wissen.

  11. #11
    1, 2, 3, 4, 5, ...

    ex-Moderator

    Avatar von GrafZahl_
    Registriert seit
    Jun 2007
    Beiträge
    8.541

    Standard Re: [JS: Classic/Corporate] Threadstarter in einer eigenen Spalte in der Threadübersicht

    Hier kommt nun der zweite Bug, der mir aufgefallen war. Bei den Suchergebnissen (bzw. neuen Beiträgen) wird ebenfalls der TS in der herkömmlichen Weise angezeigt.



    MfG
    GrafZahl

  12. #12
    Nerd

    Board:Crew

    (Threadstarter)

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    18.486

    Standard

    @GrafZahl_: Problem behoben.

  13.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •