Haumis wbb hilfe (http://haumis-wbb-hilfe.de/wbb2/index.php)
- WBBLITE (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=67)
-- Eigene Sachen von diesem Board (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=74)
--- wbblite: Benutzernamen farbig (http://haumis-wbb-hilfe.de/wbb2/thread.php?threadid=1846)


Geschrieben von haumi am 28.12.2011 um 16:56:

  wbblite: Benutzernamen farbig

Ich bin schon öfter gefragt worden, ob man die Benutzernamen farbig gestalten kann.
Hier ist mal eine Lösung.
Es wird der Original-Gruppenname für die css-Abfrage benutzt, was heißt:
Wenn eine neue Benutzergruppe angelegt wird, sollte man, um diese gestalten zu können, auch eine neue Klasse in der Datei format.css mit dem (exakten) Gruppenname als Klassenname.

Was ist zu tun?

Öffne index.php und suche:
code:
1:
if(isset($useronlinebit) && $useronlinebit != '') $useronlinebit .= ', ';

füge darunter ein:
code:
1:
2:
3:
4:
//Useronlinefarbe_Anfang
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$row[username]'");
$row['username'] = '<span class="'.($erg['title']).'">'.($row[username]);
//Useronlinefarbe_Ende

wenn der „wer war da“ installiert ist dann suche weiter:
code:
1:
while($wwhd=$db->fetch_array($result)) {

füge darunter ein:
code:
1:
2:
3:
4:
//Useronlinefarbe_Anfang
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$wwhd[username]'");
$anzeige = '<span class="'.($erg['title']).'">'.($wwhd[username]);	
//Useronlinefarbe_Ende

suche weiter:
code:
1:
2:
 if($wwhd['invisible'] == '0') $user = "<a href="profile.php?userid=$wwhd[userid]">$wwhd[username]</a></b> ($zeit)";
 elseif($wbbuserdata['canuseacp'] == '1') $user ="<a href="profile.php?userid=$wwhd[userid]">$wwhd[username]</a></b> ($zeit, Geist)";

ersetze mit:
code:
1:
2:
 if($wwhd['invisible'] == '0') $user = "<a href="profile.php?userid=$wwhd[userid]">$anzeige</a></b> ($zeit)";
 elseif($wbbuserdata['canuseacp'] == '1') $user ="<a href="profile.php?userid=$wwhd[userid]">$anzeige</a></b> ($zeit, Geist)";

öffne thread.php und suche:
code:
1:
eval ("\$posts['username'] = "".$tpl->get("thread_username")."";");

füge darüber ein:
code:
1:
2:
3:
4:
//Useronlinefarbe_Anfang
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$posts[username]'");
$posts['username'] = '<span class="'.($erg['title']).'">'.($posts[username]);
//Useronlinefarbe_Ende

öffne memberlist.php und suche:
code:
1:
eval ("\$membersbit .= " ".$tpl->get("memberslist_membersbit")."";");

füge darüber ein:
code:
1:
2:
3:
4:
//Useronlinefarbe_Anfang
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$members[username]'");
$members['username'] = '<span class="'.($erg['title']).'">'.($members[username]);
 //Useronlinefarbe_Ende

öffne team.php und suche.
code:
1:
if($user['canuseacp']) {

code:
1:
eval("\$moderatorbits .= "".$tpl->get("team_modbit")."";");

code:
1:
eval("\$moderatorbits .= "".$tpl->get("team_modbit")."";");

füge jeweils darüber ein:
code:
1:
2:
3:
4:
    //Useronlinefarbe_Anfang
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$user[username]'");
$user['username'] = '<span class="'.($erg['title']).'">'.($user[username]);
//Useronlinefarbe_Ende

öffne profile.php und suche:
code:
1:
if(!$user_info['userid']) eval("error("".$tpl->get("error_falselink")."");");

füge darüber ein:
code:
1:
2:
3:
4:
//Useronlinefarbe_Anfang
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$user_info[username]'");
$user_info1['username'] = '<span class="'.($erg['title']).'">'.($user_info[username]);
//Useronlinefarbe_Ende

öffne profile-tpl und suche_
code:
1:
<td><smallfont><b><a href="index.php?sid=$session[hash]">$master_board_name</a> » Profil von $user_info[username]</b></font></td>

ersetze durch:
code:
1:
<td><smallfont><b><a href="index.php?sid=$session[hash]">$master_board_name</a> » Profil von $user_info1[username]</b></font></td>

suche weiter:
code:
1:
<td width="100%"><normalfont color="{fontcolorsecond}"><b>Profil von $user_info[username]</b></font></td>

ersetze mit:
code:
1:
<td width="100%"><normalfont color="{fontcolorsecond}"><b>Profil von $user_info1[username]</b></font></td>

erstellen im Root-Verzeichnis eine Datei „format.css“ mit folgendem Inhalt:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
.Administratoren {
color: #FF0000;
font-size:10pt;
font-weight:bold;
font-style:italic
}
.Super_Moderatoren {
color: #008B45;
font-size:10pt;
font-weight:bold;
font-style:italic
}
.Moderatoren {
color: #458B00;
font-size:10pt;
font-weight:bold;
font-style:italic
}
.User {
color: #379593;
font-size:10pt;
font-weight:bold;
font-style:italic
}
.Partner {
color: #FE00FE;
font-size:10pt;
font-weight:bold;
}


Sollten weitere Benutzergruppen angelegt werden,
so muss für jede Benutzergruppe ein css-Block (css-Klasse)erstellt werden, wenn diese Benutzergruppe ebenfalls schriftmäßig angepasst werden soll.
Beispiel:

.Administratoren { Klassenname entspricht dem Gruppennamen!!!!
color: #FF0000; Einstellung der Schriftfarbe
font-size:10pt; Einstellung der Schriftgröße
font-weight:bold; Einstellung der Schriftdicke
font-style:italic; Einstellung der Schriftneigung
font-family: "monotype corsiva"; Einstellung der Schriftart (im Beispiel nicht vorhanden!)
}

öffne das Template headinclude.tpl und füge am Ende ein:

code:
1:
<link href="format.css" rel=stylesheet type="text/css" titel="stylesheet1">


Wird eine Userlegende auf der Indexseite gewünscht, so
öffne die Datei index.php und suche:
code:
1:
$totaluseronline = $membercount+$guestcount;

füge darunter ein:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
//Useronlinefarbe_Anfang
$anzg = "SELECT title FROM bb".$n."_groups where title !='Gäste'";
$anzeige = mysql_query($anzg);
while ($ds = mysql_fetch_object($anzeige)) {
$ergo = $ds->title;
$gruppenfarbe .= '<span class="'.$ergo.'">'.$ergo.'</span>&nbsp;&nbsp; -&nbsp;&nbsp;';
}
eval ("\$index_gruppenbit .= "".$tpl->get("index_gruppenbits")."";");
//Useronlinefarbe_Ende

erstelle ein template "index_gruppenbits.tpl" mit folgendem Inhalt:
code:
1:
2:
3:
4:
5:
<tr bgcolor="{tablecolorb}" id="tableb">
<td align="left" colspan="6" class="tablea"><smallfont>
<b>Userlegende:</b>
$gruppenfarbe
</td> </tr>

öffen das Template "index.tpl" und suche:
code:
1:
 $index_useronline

füge darunter ein:
code:
1:
  $index_gruppenbit


für eine farbige Anzeige des Ranges im Thread macht man folgendes:
Man öffnet die thread.php und sucht:
code:
1:
if($posts['title']) $posts['ranktitle']=$posts['title'];

darunter fügt man folgendes ein:
code:
1:
2:
3:
4:
5:
    //Rangfarbe_Anfang
	$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.groupid= g.groupid) WHERE u.username = '$posts[username]'");
     $posts['ranktitle']='<span class="'.($erg['title']).'">'.($posts[ranktitle])."</span>";
    //Rangfarbe_Ende


das wars schon!

Auch hier gilt wie immer:
alle zu ändernden templates und php-Dateien vorher sichern,
damit man bei einem Fehler den alten Zustand wieder herstellen kann!!
Eine Garantie wird auch nicht übernommen.

Wenn etwas unklar sein sollte bitte hier fragen bevor man etwas falsch macht.
Es wird auch Hilfe gegeben wenn etwas nicht so ganz geklappt hat.

Urheber ist haumi - aber jeder kann es frei verwenden und nach belieben abändern.



Geschrieben von Blackbeauty583 am 27.02.2014 um 18:32:

 

Hallo Haumi,
würde das so auch bei dem WBB 3.1 funktionieren?

Habe mir eine VIPgruppe erstellt bzw. 5 Stück,da jede Gruppe eine andere Zeitspanne hat.
Wenn ich den Farbcode jetzt direkt über diese Gruppe einstelle,was ja möglich ist,dann habe ich unten in der Legende aber 5x diese Gruppe zu stehen.
Das würde ich gerne umgehen,deshalb meine Frage.
Dann würde ich nämlich nur bei einer Gruppe direkt den Farbcode eingeben und die anderen 4 gern über CSS.

LG



Geschrieben von haumi am 27.02.2014 um 22:24:

 

Hi Blackbeauty
ich kenne nicht die Verwaltung der Gruppen beim wbb3.
Ich werde mir das aber mal durchdenken aber erst nach Karneval.
Da das wbb3 objektorientiert prorammiert ist und ich nicht weiß welche Objekte von welchen Klassen oder Unterklassen sind kann es sein das wir an der falschen Stelle eingreifen.
Es sollte aber möglich sein.

LG
haumi



Geschrieben von Blackbeauty583 am 27.02.2014 um 22:59:

 

Danke schön,
das wäre echt lieb von dir.

LG



Geschrieben von Garfield am 08.08.2014 um 09:22:

 

Hi Haumi ,

ich habe wbb 2.3.6 und kein lite

den oberenbereich
if(isset($useronlinebit) && $useronlinebit != '') $useronlinebit .= ', ';

habe ich nicht im index.php st8

Was mache ich nun ?



Geschrieben von haumi am 08.08.2014 um 20:29:

 

Ich denke es hat Zeit bis zum 15. August.
Dann baue ich es in dein Board ein.

Es ist auch schon in vielen wbb2er Boards eingebaut.
Nur jetzt im Urlaub habe ich die Konzentration nicht so,

Hier mal die Anleitung fürs wbb2!

LG
haumi



Geschrieben von Barbara am 21.09.2015 um 13:03:

 

Ist das hier noch aktuell??
Bin nämlich gerade am rumgrübeln, vielleicht hab ich es hier auch falsch verstanden,
denn das kann man doch alles im ACP
unter >Gruppen bearbeiten< ganz einfach anlegen,
in dem man in der gewünschten Gruppe bei >username-markierung> einfach folgendes einfügt:

code:
1:
<span style='color: #990000;'><strong>%s</strong></span>


LG Barbara



Geschrieben von haumi am 22.09.2015 um 06:45:

 

Das ist auch korrekt gilt jedoch nicht für alle angezeigten Benutzernamen.
Da wo die Onlineanzeige zu Grunde liegt wirrd es angezeigt und da wo der Name aus der bb1_users genommen wird, da wird der Name nicht farbig angezeigt.
Es kommt darauf an was man möchte.

LG
haumi



Geschrieben von Anje am 16.12.2021 um 14:15:

 

Hallo haumi,
Kannst du mir dieses einbauen ?

Gruß anje st1



Geschrieben von haumi am 17.12.2021 um 14:13:

 

Das war eingebaut und die Namen wurden auch farbig angezeigt.
Das ist nicht mehr so.
Eine grobe Kontrolle ergab das der Einbau korrekt ist.
Ich hate ein ähnliches Problem in einem anderen Board.
da hatte der Hoster eine höhere php-Version eingespielt und dadurch funktionierten einoige Befehle nicht mehr.
Die Vermutung liegt auch hier Nahe aber da muss ich alles durchgehen, was etwas dauern kann.

LG
haumi


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH