[Wbblite] Problem mit dem Profilfelder Hack - gelöst

Ayuka
Hi,
der Profilfelder Hack funktioniert bei mir nicht, weil ich erst gar nicht die zu suchenden Code Stellen finde. Anfangs passt alles, doch dann folgen die letzten Schritte.

In der acp/users.php soll man folgendes suchen:

.intval($avatarid)."' WHERE userid='$userid'",1);

Dieser Code wird in der users.php nicht gefunden. Ab dort kann ich auch keinen der darauf folgenden Codes finden.

Ohne diese letzten Schritte funktioniert dieser Hack natürlich nicht. Aber ich verstehe auch nicht, warum entsprechende Codestellen nicht aufzufinden sind.
Was kann ich da bloß machen? Ich habe schon wiederholte Male eine komplett neue "users.php" datei bearbeitet, aber die Codestellen fehlen immer!
Jomis
Suchst du mit Programm?
Ansonsten such doch einmal so, gehe jede Zeile durch, ist bei mir öfter so, dass mein Programm das Gesuchte nicht findet, aber ich ;D

Ansonsten stell doch mal den Code rein.
Ayuka
Ja, ich suche mit der Editor Suchfunktion. Dabei kürze ich die Suchwörter auch oft auf wenige Buchstaben.
Jomis
Such in deinem Code mal nach:
code:
1:
2:
  $db->unbuffered_query("UPDATE bb".$n."_users SET username='".addslashes($username)."',email='".addslashes(htmlspecialchars($email))."',groupid='$groupid',rankid='$rankid[rankid]',title='".addslashes(htmlspecialchars($title))."',usertext='".addslashes(htmlspecialchars($usertext))."',signature='".addslashes($signature)."',icq='".intval($icq)."',aim='".addslashes(htmlspecialchars($aim))."',yim='".addslashes(htmlspecialchars($yim))."',msn='".addslashes(htmlspecialchars($msn))."',homepage='".addslashes(htmlspecialchars($homepage))."',birthday='".addslashes(htmlspecialchars($birthday))."',gender='".intval($gender)."',showemail='".intval($showemail)."',admincanemail='".intval($admincanemail)."',usercanemail='".intval($usercanemail)."',invisible='".intval($invisible)."',usecookies='".intval($usecookies)."',styleid='".intval($styleid)."',daysprune='".intval($daysprune)."',timezoneoffset='".addslashes(htmlspecialchars($default_timezoneoffset))."',dateformat='".addslashes(htmlspecialchars($dateformat))."',timeformat='".addslashes(htmlspecialchars($timeformat))."',emailnotify='".intval($emailnotify)."',receivepm='".intval($receivepm)."',emailonpm='".intval($emailonpm)."',pmpopup='".intval($pmpopup)."',umaxposts='".intval($umaxposts)."',showsignatures='".intval($showsignatures)."',showavatars='".intval($showavatars)."',showimages='".intval($showimages)."',nosessionhash='".intval($nosessionhash)."', blocked='".intval($blocked)."', avatarid = '".intval($avatarid)."' WHERE userid='$userid'",1);


Und dann ist es im letzten Teil Augenzwinkern
Ayuka
Super, jetzt habe ich endlich alles gefunden!

Jedoch werden die neu erstellten Profilfelder im Profil nicht angezeigt.

Außerdem steht unter dem Avatar eines Beitrags ", uf.* ".
Jomis
Alle Templates etc richtig hochgeladen, bzw. pfh_install.php ausgeführt ? smile
Ansonsten nochmal durchgehen ob du alles auch wirklich in die richtige Stelle eingefügt hast.
Ayuka
Also im Profil wird jetzt alles richtig angezeigt.

Aber die beiden Fehler, dass die Profilfeldeingaben im Thread nicht angezigt werden und dass unter dem Avatar ", uf.*" steht, konnte ich nicht beheben.

Ich kann keinen Fehler finden.
Jomis
Ersetz mal in acp/users.php

code:
1:
2:
3:
"SELECT u.*, g.ismod + g.issupermod AS moderator


in

code:
1:
2:
3:
"SELECT u.*, g.ismod + g.issupermod AS moderator ,uf.*
Ayuka
Genau so steht es da schon.

Hat das vielleicht irgendwas mit der thread.php zu tun?

Dort steht ja auch etwas mit ", uf.*".

code:
1:
2:
3:
4:
 if($showuserfieldsinthread){
	$userfields=", uf.*";


Muss dieser Befehl in "thread.php" und "users.pho" vielleicht gleich geschrieben werden?
Elíon
Zitat:
Original von Ayuka
Genau so steht es da schon.

Hat das vielleicht irgendwas mit der thread.php zu tun?

Dort steht ja auch etwas mit ", uf.*".


if($showuserfieldsinthread){
$userfields=", uf.*";


Muss dieser Befehl in "thread.php" und "users.pho" vielleicht gleich geschrieben werden?


Ist der markierte Teil das einzige, was in der Thread.php drin steht? Wenn ja, dann liegt es wohl daran, dass dir der halbe Code fehlt bzw. dass der Code nicht geschlossen ist!
Ayuka
Nein, damit hat es wohl eher nichts zu tun, der Code ist komplett.^^

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
 if($showuserfieldsinthread){
	$userfields=", uf.*";
	$userfieldsjoin=" LEFT JOIN bb".$n."_userfields uf ON (u.userid=uf.userid)";
	$result=$db->query("SELECT * FROM bb".$n."_profilefields WHERE showinthread=1 ".(!$wbbuserdata['canuseacp']?" AND hidden=0":"")." ORDER BY fieldorder ASC");
	while($row=$db->fetch_array($result)){
		if(!$row['group_pfexist']) continue;
		$temp=explode(",",$row['group_pfexist']);
		while(list(,$val)=each($temp)) $userfieldcache[$val][]=$row['profilefieldid'];
		$profilefieldcache[$row['profilefieldid']]=$row;
	}
} else {
	$userfields="";
	$userfieldsjoin="";
}


Aber dennoch kann ich nirgendwo einen Fehler finden.
Im Profil sind die Profilfelder da, aber nicht im Thread.
In in jedem Thread steht unter den Beiträgen der Benutzer ", uf.* ".
Jomis
Hast du im ACP eingestellt, dass man die Profilfeldangaben im Thread sehen kann?
Ayuka
"Benutzereingabe in Threads anzeigen? - JA"; so steht es bei mir.

Außerdem sind die zusätzlichen Profilfelder ausgefüllt.
Elíon
In den Templates is auch alles richtig eingefügt?
Ayuka
Ich konnte zumindest keinen Fehler finden.

Kann man anhand des Problemes vielleicht sagen, in welcher Datei der Fehler ist? Sonst würde ich mich noch einmal in Ruhe dran setzen und den Hack neu einbauen...
Elíon
Tauch das Problem generell bei den Profilfeldern auf oder nur bei bestimmten?
Ayuka
Das Problem betrifft nur die mit dem Hack eingebauten Profilfelder.
Alle Felder, die Standart zum Forum gehören, funktionieren.
Elíon
Ich meinte, ob der Fehler generell bei allen Profilfeldern ist, die du mit dem PFH gemacht hast oder beispielsweise nur bei den "Mehrfachauswahl"-Feldern oder Ähnlichem
Ayuka
Ja, das Problem tritt bei jeder Felder Art auf.


EDIT:

Nach der zweiten Neuinstallation trat wieder dasselbe Problem auf...

Außerdem wird nurnoch der 1. Beitrag jedes Themas angezeigt.