Bone Dragon
Titel: Benutzeronlinemarkierung für Mitgliederseite
Version: 1.0
Beschreibung:
» Was macht die Erweiterung:
Die Erweiterung zeigt die Boardmitglieder auf der Mitgliederseite in den entsprechenden Farben Ihrer Benutzergruppe an.
» Copyright:
Da der Original-Hack nicht von mir stammt und dieses lediglich eine Erweiterung zum dem Hack ist, verzichte ich auf ein Copyright.
» Vorraussetzungen:
- wBBLite 1.0.x
- Benutzeronlinemarkierung von Schrimm [
http://www.mywbb.info ]
» Testumgebung:
- wBBLite 1.0.2 pl3
- Benutzeronlinemarkierung von Schrimm [
http://www.mywbb.info ]
- PHP 4.4.9
- MySQL 5.0.67
» Neue Dateien:
- Keine
» Zu bearbeitende Dateien:
- memberslist.php
» Datenbankänderung:
- Keine
» Hinweis:
Macht vor dem beginn des Einbaus ein BackUp aller zu bearbeitenden Dateien sowie von der Datenbank.
Der Einbau des Hacks/Addons erfolgt auf eigene Gefahr !
Edit 16.06.2009, 13:17:
- Anleitung gefixt und Anhang aktualisiert
Grund: Suchstelle für den Einbau vergessen.
----
weiter zum Download
Glücksklee
Hallo Ihr ^^
Ich hab da mal eine Frage ... vielleicht kann mir ja irgendwer antworten.
Also ich wollte nun diese wunderbare Erweiterung einbauen, habe aber das Problem, dass unsere memberlist.php einfach nicht mehr mit der ursprünglichen Datei übereinstimmt und einige Dinge fehlen. (Habe ich auch alles leider nicht selbst geändert)
Jetzt stehe ich vor dem Problem, dass keine der beiden Suchstellen auffindbar sind.
Im Vergleich mit der Ursprungsdatei habe ich mich trotzdem mal drangewagt und die zusätzlichen Codestellen "ungefähr" an ähnlicher Stelle eingesetzt.
Das Ganze sieht so aus:
php: |
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:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
|
$membersbit="";
while($members = $db->fetch_array($result)) {
$members['regdate'] = formatdate($dateformat,$members['regdate']);
### Benutzeronlinemarkierung-Erweiterung START ###
$alt_title_tag[username] = $members[username];
### Benutzeronlinemarkierung-Erweiterung ENDE ###
$grouptitle = $db->query_first("SELECT title FROM bb".$n."_groups WHERE groupid='$members[groupid]'");
$q = $db->query_first("SELECT threadid, posttime FROM bb".$n."_posts WHERE userid LIKE '".$members['userid']."' ORDER BY posttime DESC LIMIT 1");
if($q) {
$q2 = $db->query_first("SELECT topic, visible FROM bb".$n."_threads WHERE threadid LIKE '".$q['threadid']."'");
$posttime = formatdate($dateformat,$q['posttime']);
if($q2['visible'] != 1) {
$lastpostbit = "Unbekannt (".$posttime.")";
} else {
$lastpostbit = '<a href="thread.php?threadid='.$q['threadid'].'&sid='.$session[hash].'">'.$q2['topic'].'</a> ('.$posttime.')';
}
} else {
$lastpostbit = "-";
}
if($members['title']) eval ("\$members_title = \" ".$tpl->get("memberslist_title")."\";");
if($members['receivepm'] && $wbbuserdata[canusepms]==1) eval ("\$members_pm = \" ".$tpl->get("memberslist_pm")."\";");
else $members_pm=" ";
$members_avatar = $db->query_first("SELECT
u.*,
a.avatarextension, a.width, a.height
FROM bb".$n."_users u
LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid)
WHERE u.userid='$members[userid]'");
if($members_avatar['avatarid'] && $showavatar==1 && $members_avatar['showavatars']==1) {
$avatarname1="{imagefolder}/avatars/avatar-$members_avatar[avatarid].$members_avatar[avatarextension]";
$avatarwidth1=$members_avatar['width'];
$avatarheight1=$members_avatar['height'];
eval ("\$memberavatar = \"".$tpl->get("avatar_image1")."\";");
}else{
eval ("\$memberavatar = \"".$tpl->get("noavatar_image")."\";");
}
$la_d = formatdate($dateformat,$members['lastactivity'],1);
$la_t = formatdate($timeformat,$members['lastactivity']);
### Benutzeronlinemarkierung-Erweiterung START ###
$format = $db->query_first("SELECT u.useronlinemarking AS marking, g.useronlinemarking FROM bb".$n."_users u LEFT JOIN bb".$n."_groups g ON (g.groupid=u.groupid) WHERE u.userid='".$members[userid]."'");
if($format['marking']!="%s") $members['username'] = sprintf($format['marking'],$members['username']);
else $members['username'] = sprintf($format['useronlinemarking'],$members['username']);
### Benutzeronlinemarkierung-Erweiterung ENDE ###
eval ("\$membersbit .= \" ".$tpl->get("memberslist_membersbit")."\";");
}
$db->free_result($result);
eval("\$tpl->output(\"".$tpl->get("memberslist")."\");"); |
|
Zum Vergleich eine ursprüngliche memberlist.php, die ich finden konnte:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
$membersbit="";
while($members = $db->fetch_array($result)) {
$members['regdate'] = formatdate($dateformat,$members['regdate']);
### hier müsste etwas eingefügt werden ###
if($members['showemail']==1) eval ("\$members_email = \" ".$tpl->get("memberslist_email")."\";");
elseif($members['usercanemail']==1) eval ("\$members_email = \" ".$tpl->get("memberslist_formmail")."\";");
else $members_email=" ";
if($members['homepage']) eval ("\$members_homepage = \" ".$tpl->get("memberslist_homepage")."\";");
else $members_homepage=" ";
if($members['receivepm'] && $wbbuserdata[canusepms]==1) eval ("\$members_pm = \" ".$tpl->get("memberslist_pm")."\";");
else $members_pm=" ";
if($members['userposts']) eval ("\$members_search = \" ".$tpl->get("memberslist_search")."\";");
### hier müsste etwas eingefügt werden ###
else $members_search=" ";
eval ("\$membersbit .= \" ".$tpl->get("memberslist_membersbit")."\";");
}
$db->free_result($result); |
|
Es funktioniert nach dem Austausch von $members[username] zu $alt_title_tag[username] in der memberslist_membersbit.tpl trotzdem nicht!
Was habe ich falsch gemacht?
Liebste Grüße,
Glücksklee <3
Bone Dragon
Sofern das Problem noch aktuell ist, wäre es hilfreich wenn Du schreiben könntest was genau nicht funktioniert - nur die Anzeige der Farben nicht oder kommen auch andere Probleme ?
Glücksklee
Es ist noch aktuell.
Und es wird wirklich nur nicht die Farbe angezeigt. Das war's. Quasi der ganze Sinn und Zweck des Hacks ist verloren xD
Pigsel
Zitat: |
Original von Glücksklee
Es ist noch aktuell.
Und es wird wirklich nur nicht die Farbe angezeigt. Das war's. Quasi der ganze Sinn und Zweck des Hacks ist verloren xD |
nein ist er nicht, wenn man die Einbaustellen verfehlt weil die Suchstellen weg sind ..
wenn du magst und damit das ganze zu deiner Zufriedenheit gelöst werden kann, magst mir verrate nwas alles geändert wurde?
mir also so zu sagen .. deine geänderte memberlist.php anhängen(nicht als Code - sondern DATEI-Anhang)
dazu vlt. eine Liste der Dinge die rausgeflogen / (eingebaut) worden sind, dann könnte man die Sache so nachstellen ..
ich habe mal bereits die 2 zu bearbeitenden Dateien aus einem Original-Woltlab-Archiv genommen und dieses Addon zum Hack eingebaut, in der Voraussicht das der "benötigte" Benutzeronlinemarkierung sauber funktioniert OHNE das Addon hier ..
falls nicht .. bitte mal alle dafür relevanten Dateien zusammentragen und anhängen dann ziehen wir das so zurecht das es zur vollen Zufriedenheit arbeitet ...
Dateianhang "memberlist.php / memberslist_membersbit.tpl"
wenn du natürlich allein in der Lage bist aus der originalen memberlist.php die für dich überflüssigen Codestellen zu löschen und die nachträglich zugefügten wieder dazu zu geben, kannst das antürlic hauch alleine versuchen - ansonsten siehe oben
Glücksklee
*seufz*
Vielleicht liegt genau DA mein Problem: Ich habe das Forum nicht aufgebaut, sondern quasi nur "geerbt" und da der Hackeinbau echt chaotisch und absolut ohne Kommentare vonstatten gegangen ist, kann ich dir leider NULL darüber sagen, was eingebaut und was gelöscht wurde. (Ist auch alles vor meiner Zeit passiert und wurde natürlich nicht dokumentiert...)
Du müsstest mal sehen, wie der Rest aussieht *Kopf schüttel*
Ich habe dir jedenfalls die beiden Dateien mal angehangen.
Vielen lieben Dank für deine Mühen!! Darfst dich geflauscht fühlen *gg*
Pigsel
Zitat: |
Original von Glücksklee
Du müsstest mal sehen, wie der Rest aussieht *Kopf schüttel*
|
gern bei bedarf
Zitat: |
Ich habe dir jedenfalls die beiden Dateien mal angehangen.
Vielen lieben Dank für deine Mühen!! Darfst dich geflauscht fühlen *gg* |
Danke

dann will ich mal sehen ob man da was draus machen kann
also in der meberlist_mebersbit.tpl steht:
code: |
1:
|
<span style="text-transform:uppercase">$members2[username]</span> |
|
mit ein wenig Glück hat es nur das members2 in der memberlist.php zu finden anzupassen fertig ..
aber wie ich das bisher sehe wäre ein größerer Überblick schon nicht schlecht @Rest ansehen ..siehe PM
edit3:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
#### Anfang Member ~ Groupcolor ####
$uname = ($members['username']);
$gridf = $db->query_first("SELECT groupid FROM bb".$n."_users WHERE username LIKE '".$uname."'");
$autorgrid = ($gridf['groupid']);
$autornamecolorfrage = $db->query_first("Select postcolor From bb".$n."_groups WHERE groupid LIKE '".$autorgrid."'");
$autornamecolor = ($autornamecolorfrage['postcolor']);
if($autornamecolor != "") {
$members2['username'] = "<normalfont color=".$autornamecolor.">".$members["username"]."";
} else {
$members2['username'] = $members['username'];
}
#### ENDE Member ~ Groupcolor #### |
|
das erklärt zumindestens das members2[username]
aber wenn ich nicht komplett falsch liege .... steht DAS dem benutzeronlinemarkierung im Weg ....
nun wie soll es werden? membergroupcolor drin lassen oder alles erstma lwieder rauswerfen die originale von oiben nehmen und alles schrittweise neu einsetzen? oder was ist nun das Ziel?
wie gesagt siehe PM
schnaufel
1A Erweiterung, danke für deine Mühe!