Nicks in der Onlineliste sortieren

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Benutzeravatar
Linus
Moderator
Beiträge: 1124
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Nicks in der Onlineliste sortieren

Ungelesener Beitrag von Linus » 29.03.2012, 23:47

Hallo zusammen! Da die bisherige Variante des OL-Sortierungsscripts von 1. FC Keller aufgrund der neuen Icons nicht mehr in jedem Fall richtig funktioniert, habe ich mir erlaubt, das Script entsprechend anzupassen.

Nach dem Alphabet sortieren:
Script:Zeigen

Code: Alles auswählen

function sortI(a, b) {
	a = a.toLowerCase();
	b = b.toLowerCase();
	if (a > b) {
		return 1;
	}
	if (a < b) {
		return -1;
	}
	return 0;
}
function sortOl() {
	ol = parent.rightFrame;
	olOrder = [];
	olUsers = ol.document.getElementById("bd:").childNodes;
	for (i = 0; i < olUsers.length; i++) {
		olOrder[i] = olUsers[i].id;
	}
	olOrder.sort(sortI);
	j = 0;
	for (i = 0; i < olOrder.length; i++) {
		if (ol.document.getElementById(olOrder[i])) {
			for (k = j; k < olUsers.length; k++) {
				if (olUsers[j].id != olOrder[i]) {
					away = reason = 0;
					if (l = olUsers[j].getElementsByTagName("i")) {
						if (l.length) {
							away = 1;
							m = l[0].firstChild.title.split(" ");
							if (m.length > 1) {
								m.shift();
								m.shift();
								m.shift();
								reason = m.join(" ");
							}
						}
					}
					if (olUsers[j].getElementsByTagName("a") && olUsers[j].getElementsByTagName("a").length) {
						if (olUsers[j].getElementsByTagName("a")[0].getElementsByTagName("img")[0]){
							src = olUsers[j].getElementsByTagName("a")[0].getElementsByTagName("img")[0].src;
							urlParts = src.match(/bild(\d+)\.\w{3,4}$/);
							imgSrc = "" + urlParts[1] + "";
						}else{
							imgSrc = "";
						}
						ol.addp(olUsers[j].id, "server" + chatData[0], chatData[1], away, reason, imgSrc);
					} else {
						ol.add(olUsers[j].id, away, reason);
					}
				}
			}
			j++;
		}
	}
}
window.setInterval(sortOl, 1000);
Mit voreingestellter Reihenfolge:
Script:Zeigen

Code: Alles auswählen

olOrder = ["moni", "DG", "robo", "Tuersteher", "Hilde"];

function sortOl() {
	ol = parent.rightFrame;
	olUsers = ol.document.getElementById("bd:").childNodes;
	j = 0;
	for (i = 0; i < olOrder.length; i++) {
		if (ol.document.getElementById(olOrder[i])) {
			for (k = j; k < olUsers.length; k++) {
				if (olUsers[j].id != olOrder[i]) {
					away = reason = 0;
					if (l = olUsers[j].getElementsByTagName("i")) {
						if (l.length) {
							away = 1;
							m = l[0].firstChild.title.split(" ");
							if (m.length > 1) {
								m.shift();
								m.shift();
								m.shift();
								reason = m.join(" ");
							}
						}
					}
					if (olUsers[j].getElementsByTagName("a") && olUsers[j].getElementsByTagName("a").length) {
						if (olUsers[j].getElementsByTagName("a")[0].getElementsByTagName("img")[0]) {
							src = olUsers[j].getElementsByTagName("a")[0].getElementsByTagName("img")[0].src;
							urlParts = src.match(/bild(\d+)\.\w{3,4}$/);
							imgSrc = "" + urlParts[1] + "";
						} else {
							imgSrc = "";
						}
						ol.addp(olUsers[j].id, "server" + chatData[0], chatData[1], away, reason, imgSrc);
					} else {
						ol.add(olUsers[j].id, away, reason);
					}
				}
			}
			j++;
		}
	}
}
window.setInterval(sortOl, 1000);
Alle Anpassungen bleiben wie vorher! ;)
Kein Support per PN!

Berlinmann1
Beiträge: 28
Registriert: 27.08.2007, 19:55
Kontaktdaten:

Re: Nicks in der Onlineliste sortieren

Ungelesener Beitrag von Berlinmann1 » 20.03.2013, 09:17

hallo Linus

habe dein script eingebaut

leider wird in der userliste folgendes angezeigt

EngelMathy
Berlinmann1
$maiz
Adler63

was mache ich falsch, weil immer dieses $maiz angezeigt wird.

wäre super toll, wenn du mir helfen könntest

mfg

horst

wenn du magst kannst du es dir mal anschauen. script ist eingebaut.
vielen vielen dank

http://www.berlinmann.menkisys.org/alles/chatlog/

Benutzeravatar
ZischDings
Moderator
Beiträge: 672
Registriert: 22.12.2004, 16:01
Kontaktdaten:

Re: Nicks in der Onlineliste sortieren

Ungelesener Beitrag von ZischDings » 20.03.2013, 11:22

Doppelte Threads zum gleichen Thema führen weder zu vermehrten Antworten noch dienen sie der Übersichtlichkeit. Bitte deshalb künftig im schon begonnenen Thread bleiben oder um Löschung desselben bitten ;-)
Meine Meinung steht fest, verwirren Sie mich nicht mit Tatsachen!

http://www.wasguckstu.de

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 63 Gäste