Bugfix wbblite (Thread read/unread Anzeige)

ChrisGross
Titel: Bugfix wbblite (Thread read/unread Anzeige)
Version: 1.1

Welcher Bug wird behoben
Wenn ein User einen Thread gelesen hat und dann den Browser geschlossen hat kam es öfters vor, dass der Thread als ungelesen angezeigt worden ist.

Was ändert der Bugfix
Er speichert die gelesenen Threads mit Uhrzeit in der Datenbank und entfernt sie wieder wenn sie nicht mehr benötigt werden.

Update
+ Fehler in Anleitung wurde behoben
+ Hinweis für Portal beigefügt
----


weiter zum Download
schmusekater
Ich wollte das Bugfix gerade einbauen. Bei meinen Board habe ich das Portal lite installiert.

Kann es sein das nicht die portal.php sondern die portal_boxes.php zu ändern ist ?
ChrisGross
Es gibt verschiedene "Portale lite" ich bin von dem das auf mywbb zu bekommen ist ausgegangen. Aber bei dem Portal von wbbmods ist das ganze in der portal_boxes.php das ist richtig.
schmusekater
Danke ChrisGross,

ich habe endlich Zeit gehabt den Bugfix einzubauen.

Endlich ist der Fehler weg.
Sonyc
beim mir wirkt das teil umgekehrt !!!
wenn ich jetzt nen post gesetzt habe wird sofort das thema als ungelsen makiert mit neuem beitrag, dabei war ich das selber ... jetz is das noch schlimmer !!!

anleitungsfehler ?
hab sie haargenau befolgt !


:EDIT:

ich glaub das prob hat sich erledigt
ansonsten meld ich mich nochmal
pixelinchen
Dies ist eine vorgefertigte Schablone.
Bitte fülle soviel aus, wie dir nur Möglich ist, du kannst auch gerne noch mehr Angaben machen.


Problembeschreibung:

hallo habe mir deinen buchfix wbblite eingebaut.

Fehlermeldung:

SQL-DATABASE ERROR

Database error in WoltLab Burning Board: Invalid SQL: SELECT threadid, lastvisit FROM bb2_threadvisit WHERE userid = '1'
mysql error: Table 'stylemotel.bb2_threadvisit' doesn't exist
mysql error number: 1146
Date: 24.07.2009 @ 20:22
Script: /testboard/
Referer:

Link zum Forum oder Screenshot:




Was wurde zuletzt geändert oder eingebaut?

buchfix als dateianhang
Bräke
Jetzt muss mal meckern hier. Belehr

1. heißt es Bugfix. Zumindest beim Titel des Themas mal drauf achten was man schreibt. Denn keiner sucht nach buchfix wenn bugfix gemeint ist.

2. Sollen Thementitel aussagekräftig sein, damit man schon am Titel ggf. das Problem "erkennen" kann. Hilft beim Suchen.

3. Probleme/Fragen zu Hacks die hier in der Datenbank sind, immer in deren Supporttread posten. Wurdest schon vor 2 Tagen drauf angesprochen und wolltest selber dadrauf achten.

4. Zusammengefügt.


Du hast vergessen den Schritt zu machen, in dem per phpmyadmin die Tabelle erstellt wird. Steht oben in der Anleitung. Augenzwinkern
pixelinchen
sorry unglücklich

hab weil ich blöderweise wie du recht hast statt bugfix buchfix eingegeben und deshalb nichts gefunden und daher so gepostst unglücklich

den fehler, ja verstanden hab ich da nun nichts was du gesagt hast unglücklich

könntest du mir das etwas genauer erklären bitte ? verwirrt
Bräke
Führe folgenden String in PHPMYADMIN aus:

code:
1:
CREATE TABLE bb2_threadvisit (threadid int(11) unsigned NOT NULL default '0', userid int(11) unsigned NOT NULL default '0', lastvisit int(11) unsigned NOT NULL default '0', PRIMARY KEY  (threadid,userid), KEY userid (userid,lastvisit)) ENGINE=MyISAM



Einfach in dein phpmyadmin gehen, das da oben kopieren (Nr. hab angepasst) und dann unter SQL im phpmyadmin reinkopieren und absenden.

[attach]31793[/attach]
So oder ähnlich sieht das aus.
pixelinchen
sorry wenn ich nun echt dumm frage aber wo finde ich das phpmyadmin ?
in meinem ftp ?

oder in welcher .php oder tpl.

??? stehe grad echt auf m schlauch böse unglücklich
Bastler
wbblite: Fortgeschrittener
Und nicht wissen wie man die Datenbank verwaltet?
Seltsam ...
Bräke
Öhm, da musst du mal bei deinem Anbieter schauen. In der Adminsitrationsberfläche für deinen Webspace findest du sowas meistens oder in der FAQ von denen schauen.
pixelinchen
Zitat:
Original von Bastler
wbblite: Fortgeschrittener
Und nicht wissen wie man die Datenbank verwaltet?
Seltsam ...


anstatt nach 1 beitrag der gepostet wurde so ein mist loszulassen lieber erstmal nett sein und helfen ...

fällt mir nichts zu ein zu solchen leuten böse

bin ja auch nur n mensch und anfänger was sowas angeht.....

@bräke danke dir ich werd mal schaun.
Bastler
Dann schreib auch Anfänger hin und nicht Fortgeschrittener.
Wie sollen wir denn das wissen, dass du dich nicht auskennst ...
pixelinchen
Zitat:
Original von Bräke
Öhm, da musst du mal bei deinem Anbieter schauen. In der Adminsitrationsberfläche für deinen Webspace findest du sowas meistens oder in der FAQ von denen schauen.


vielen lieben dank für deine hilfe *wiedermal* großes Grinsen

habs nun hinbekommen smile
Bräke
Ok, hier für diejenigen die Probleme damit haben eine setup.php, ins ACP-verzeichnis laden aund aufrufen.
Lori
Hallo! smile

Hab den bugfix eingebaut, alles problemlos, scheint auch zu funktionieren smile
Danke dafür!

Was aber jetzt das Problemchen ist..... wenn ich unten auf
*aktive Themen der letzten 24 Stunden* klicke, kommt eine Fehlermeldung bzw. tut sich eine Seite auf, dass er diese:
http://xxx.de/xxx/search.php?action=24h&sid=
nicht gefunden hat.

in der search.php also..... da hab ich aber doch von 24h gar nichts überschrieben? Oder funktioniert das ganze ab morgen wieder?

LG

Lori, grübelnd verwirrt
onesworld
URL? Alles andere ist Glaskugel-Raten.
Bräke
Also an der search.php wird doch nichts geändert? Muss woanders herkommen.
Lori
Moin,

die URL ist völlig uninteressant, geht eine neue Browserseite mit Fehlermeldung auf, dass eben *search.php?action=24h&sid=* nicht gefunden wird. (Der Link von der Boardseite führt dahin)

Bräke, an der search.php wird schon was geändert:

Zitat:
if(isset($_COOKIE['threadvisit'])) $threadvisit=decode_cookie($_COOKIE['threadvisit']); else $threadvisit=array();


ersetzen mit

Zitat:
$result = $db->query("SELECT threadid, lastvisit FROM bb".$n."_threadvisit WHERE userid = '".$wbbuserdata['userid']."'"); while($row = $db->fetch_array($result)){ if($row['lastvisit'] < $wbbuserdata['lastvisit']) { $db->query("DELETE FROM bb".$n."_threadvisit WHERE threadid='".$row['threadid']."' AND userid='".$wbbuserdata['userid']."'"); continue; } $threadvisit[$row['threadid']] = $row['lastvisit']; }


Das in thread.php, board,php, search,php und index.php

Da steht aber nix von 24 Std-Äktschn... großes Grinsen -- das muss irgendwas mit den cookies zu tun haben, die da geändert worden sind.

board.php nochmal checken? index.php?
Wo ist denn der Link ersichtlich, der auf die neuen Beiträge der letzten 24 Std. führt?
Den schmeiss ich dann ganz raus..... aber dann hätte ich gern einen, der die neuen Beiträge seit dem letzten Besuch aufführt smile


edit:: Ja, das mit den 24 Std. steht in der search.php, das wird aber gar nicht verändert. Also liegt es an einer anderen Änderung... egal, ich habe gerade auf meinem Rechner noch einen anderen entsprechenden Hack gefunden, der ist anders, baut gleich einen Link in der index_hello.tpl ein und funktioniert smile

Mit den alten Dateien funzt auch die 24-Std.-Anzeige wieder.


LG

Lori