Gästebuch im Profil 2.3.x

dj vip
ehm hab den hack vor längerem mal eingebaut

und nach dem server umzug hab ich nen nettes kleines prob

man kann ja sein gb im user cp bei den einstellungen anschalten

und wenn ich dies machen bzw dort bei der aktivierung auf ja stelle und auf speichern klicke geht es jedes mal wieder auf nein

es ist korekt eingebaut woran kann das liegen

mfg
Agi
Welche mySQL Version hattest du vor dem Umzug und welche hast du jetzt?
Paddy2Fast
Was hälst du von meiner Idee das ganze mit so einem Spambild zu schützen?

Ich hab etliche Bot Einträge :/... Halt eben nur schützen, wenn ein Gast was schreiben möchte.... Wenn ein User was schreibt ist das ja egal.

Oder wurde dies im Laufe der Zeit schon umgsetzt nun?


Gruß
Paddy
Agi
Zitat:
Original von Paddy2Fast
Was hälst du von meiner Idee das ganze mit so einem Spambild zu schützen?

Ich hab etliche Bot Einträge :/... Halt eben nur schützen, wenn ein Gast was schreiben möchte.... Wenn ein User was schreibt ist das ja egal.

Oder wurde dies im Laufe der Zeit schon umgsetzt nun?


Gruß
Paddy


Ein weiterer Vorschlag für die neue, verbesserte Version. Ist aufgenommen. Ich werd die Vorschläge dem Ghostmaster dann bei Gelegenheit weitergeben.
Paddy2Fast
Alles klar, freut mich smile ...

Hoffe ich mal das die bald rauskommt!


btw, wie könnte ich rausbekommen welche Version ich zurzeit drin hab? Weil ich hatte die mal so irgendwann eingebaut, ist schon länger her, und ich weis nicht ob es schon eine neue gibt?
Agi
Häng mal deine gaestebuch.php an, dann kann ichs dir sagen.
Paddy2Fast
Habe sie mal im Anhang beigefügt.

Ist aber noch dieser Hack eingebaut, Gästebuch unter profil, wenn das damit was zu tun hat Augenzwinkern ...

Danke!
xphantomas
hallo,

ich habe mir heute diesen hack eingebaut, bekomme aber folgende fehlermeldung:

SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.6): Invalid SQL: UPDATE bb1_users SET showemail='1', admincanemail='1', usercanemail='1', invisible='0', usecookies='1', styleid='0', daysprune='0', timezoneoffset='1', startweek='0', dateformat='d.m.Y', timeformat='H:i', emailnotify='1', notificationperpm='0', receivepm='1', emailonpm='0', pmpopup='1', umaxposts='0', showsignatures='1', showavatars='1', showimages='1', threadview='0', langid='0', usewysiwyg='0 ', gb_aktiv='1', gb_freischalt='0', gb_gaeste='0', gb_pms='0', WHERE userid = '1'
mysql error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE userid = '1'' at line 1
mysql error number: 1064
mysql version: 4.1.22-log
php version: 4.4.4
Date: 27.02.2007 @ 16:48

Referer: http://xxxxxxxxxxxxxxxxxxx/usercp.php?action=options_change


kann mir jemand sagen was das bedeudet bzw was ich noch machen / ändern muss ?

die einbauanleitung ist ja super geschrieben, versteh selbst nicht was ich falsch gemacht haben soll.
im profil sind alle felder zum einstellen / aktivieren da.
aber sobald ich das GB auf aktivieren stelle erhalte ich o.g. fehlermeldung.

wäre nett wenn mir jemand weiterhelfen kann.
hab den hack ausgebaut und nochmals installiert, immer das gleiche.


besten dank
xphantomas


edit
soeben galube ich das dies gar nix mit dem hack zu tun hat sondern ein generelles problem ist.
denn ich sah das zumindet bei mir in meinem profil ein GB existiert.
habe dann mal meine email auf unsichtbar gestellt und erhielt den gleichen fehler :-(
wäre dennoch schön wenn mir jemand helfen könnte.
das muss ja an der uercp.php liegen, steht ja in der fehlermeldung.
aber was ist hier zu tun ?

edit 2

lasst mal gut sein.
ich habe ne "frische" modcp eingesetzt, sieht fast danach aus als läuft alles reibungslos.
sollte ich dennoch weiterhin eingenerelles problem haben melde ich mich nochmals.
Agi
Zitat:
Original von Paddy2Fast
Habe sie mal im Anhang beigefügt.

Ist aber noch dieser Hack eingebaut, Gästebuch unter profil, wenn das damit was zu tun hat Augenzwinkern ...

Danke!


Du nutzst die neueste Version.
FinstereExistenz
für alle die auch diesen fehler haben, wobei das gb willkürlich irgendwann deaktiviert wird..


ursache: restcodes in der usercp.php von ursprünglichen, alten gb im profil von ghostmaster..

wer also ein update gefahren hat, wird diese zeilen noch drinne haben..


achja

DANKE FÜR NICHTS AGI !!!
Hajö
Hallo zusammen,

zunächst mal ein Lob für den Hack! Augenzwinkern

Sehr feine Sach...! smile

Allerdings versuche ich nun seit Stunden den Avatar vom Schreiber des Eintrags rein zu kriegen. (beim Benutzernamen)
Aber ich krieg es einfach nicht hin... unglücklich

Hat vielleicht inzwischen einer der Experten eine Lösung?

Wäre echt super froh, wenn jemand helfen könnte!

Gruß
Hajö smile
Agi
Ok da das mit dem Avatar wirklich gewünscht ist, versucht es mal so:

gaestebuch.php öffnen und nach
php:
1:
$icon = ($eintrag['iconid']) ? makeimgtag($eintrag['iconpath'], getlangvar($eintrag['icontitle'], $lang), 0) : ' ';
suchen.

Und darunter einfügen:
php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$posts[avatarid].".htmlconverter($user['avatarextension']);
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }


Template gb_indexbit.tpl:
Nach Folgendem suchen:
code:
1:
<span class="normalfont"><if($eintrag['createrid'] == 0)><then>$eintrag[creater]</then><else><a href="profile.php?userid=$eintrag[createrid]">$eintrag[creater]</a></else></if></span><br /><br /><br />


Und mit diesem Code hier ersetzten:
code:
1:
2:
<span class="normalfont"><if($eintrag['createrid'] == 0)><then>$eintrag[creater]</then><else><a href="profile.php?userid=$eintrag[createrid]">$eintrag[creater]</a><br />
	  $useravatar</else></if></span><br /><br /><br />



Abspeichern, Templates cachen. Ich weise darauf hin, dass ich das jetzt auf die Schnelle gemacht und nicht getestet habe, daher auf alle Fälle eine Sicherungskopie sowohl von der gaestebuch.php als auch von der gb_index.tpl Datei machen, falls etwas schief gehen sollte.
Hajö
Hallo Agi,

danke dass Du Dich dem Thema annimmst... smile

Allerdings funktioniert es leider noch nicht ganz... unglücklich

Bei dem Coder der Ausgabe kommt beim Image das hier raus:

code:
1:
2:
3:
      <span class="normalfont"><a href="profile.php?userid=1">Hajö</a><br>
	  <img src="images/avatars/avatar-." alt="images/avatars/avatar-." title="" border="0"></span><br><br><br>
      <span class="smallfont"><img src="images/blw/posticon.gif" border="0"> Gestern, <span class="time">00:43</span></span>


Hast Du vielleicht Zeit und Lust das nochmals anzusehen? Augenzwinkern

Könnte da ne Abfrage fehlen?

Hab WBB Version 2.3.6 pl1

Gruß
Hajö smile
Agi
Ich habs fast gewusst, ich hab eine variable übersehen. Suche nach

php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$posts[avatarid].".htmlconverter($user['avatarextension']);
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }


Und ersetze gegen:

php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$user[avatarid].".htmlconverter($user['avatarextension']);
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }
Hajö
Vielen Dank für die schnelle Antwort... smile Super!

Wir kommen so langsam weiter, aber leider noch immer nicht perfekt:

php:
1:
2:
3:
4:
<span class="smallfont">1. Eintrag</span><br><br>
      <span class="normalfont"><a href="profile.php?userid=1">Hajö</a><br>
      <img src="images/avatars/avatar-427." alt="images/avatars/avatar-427." title="" border="0"></span><br><br><br>
      <span class="smallfont"><img src="images/blw/posticon.gif" border="0"> <b>Heute</b>, <span class="time">16:57</span></span>


Jetzt ist die ID dabei, aber leider fehlt noch die Datei erweiterung... Augenzwinkern
Also das GIF hinter dem Punkt!

Gruß
Hajö smile
Agi
Ok dann versuch Folgendes:

Das hier
php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$user[avatarid].".htmlconverter($user['avatarextension']);
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }
ersetzen gegen

php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$user[avatarid].".$user['avatarextension'];
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }
Hajö
Ich trau es mich ja fast garnicht zu sagen bei der Mühe, die Du Dir machst!

Aber es hat leider nichts dran verändert... unglücklich

Es fehlt weiter hin der Datei Zusatz wie oben dran gepostet...

Danke für die ganze Hilfe!

Gruß
Hajö smile
Agi
Ok dann versuchs mal so:

php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$user[avatarid].".$user['avatarextension'];
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }


zu

php:
1:
2:
3:
4:
5:
6:
7:
if ($user['avatarid'] && $wbbuserdata['showavatars'] == 1) {
                $avatarname "images/avatars/avatar-$user[avatarid].".htmlconverter($user_info['avatarextension']);
                $avatarwidth $user['width'];
                $avatarheight $user['height'];
                if ($user_info['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
                elseif ($user_info['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
            }


abändern.


Suche nach:

php:
1:
$user_info $db->query_first("SELECT "."u.* "."FROM bb".$n."_users u "."WHERE u.userid='$userid'");


Und ersetze gegen:

php:
1:
$user_info $db->query_first("SELECT "."u.* "."FROM bb".$n."_users u "."LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid) "."WHERE u.userid='$userid'");
Hajö
Hallo nochmal,

ich hab es versucht, aber leider mit dem gleichen Ergebnis... Hab aber auch mal durchgesehen und ich glaube uns fehlt lediglich die Abfrage von der "avatarextension". Kann das sein? Hab keine Datenbankabfrage gefunden, wo das drin ist... unglücklich

Könnte da vielleicht unser Fehler liegen?
Oder seh ich das nur nicht?

Sorry, bin kein Experte, wie man ja merkt... Augenzwinkern

Gruß
Hajö smile
Agi
Zitat:
Original von Hajö
ich glaube uns fehlt lediglich die Abfrage von der "avatarextension".


Jo nur hab ich die zuvor natürlich wieder vergessen -.-

Ok also suche :

php:
1:
$user_info $db->query_first("SELECT "."u.* "."FROM bb".$n."_users u "."LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid) "."WHERE u.userid='$userid'");



Und ersetze gegen:

php:
1:
$user_info $db->query_first("SELECT "."u.* "."a.avatarextension"."FROM bb".$n."_users u "."LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid) "."WHERE u.userid='$userid'");