[FINAL] Unread Post Information 2 Database Mod V2

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Schwarzer-Schlumpf
Mitglied
Beiträge: 848
Registriert: 19.06.2003 00:26
Wohnort: Kiel
Kontaktdaten:

Beitrag von Schwarzer-Schlumpf »

Ist der Unrea to database eigentlich derselbe wie der unread to database v2 ?
Denn das andere Theme gibt es leider net mehr.

Das meinte ich:
http://www.phpbb.de/viewtopic.php?t=270 ... highlight=
Chellie
Mitglied
Beiträge: 33
Registriert: 05.07.2002 15:52
Wohnort: Rossau

Beitrag von Chellie »

Hallo

Nachdem ich in meinem Forum (wer es wissen will forum.pcplayer.de) diesen MOD schon lange verwende (schon seit Version 1), das Forum immer größer wurde und im allgemeinen langsamer (mit meiner beschränkten Hardware ;)), hab ich mich mal rangemacht und nach Performanceoptimierungen des Mods gesucht.

Dabei kam mir das Problem zu Ohren das es mit folgendem Select in der functions_upi2db.php -> function disp_unread_post() gewisse Probleme gibt:

Code: Alles auswählen

$sql = "SELECT p.post_id, p.topic_id, p.post_edit_time, p.post_time, r.always_read, p.forum_id
FROM " . POSTS_TABLE . " AS p LEFT OUTER JOIN " . UPI2DB_READ_TOPICS_TABLE . " AS r
ON ( p.topic_id = r.topic_id AND r.user_id = " . $userdata['user_id'] . ")
WHERE ( (r.user_id = " . $userdata['user_id'] . " OR r.user_id IS NULL)
AND (p.post_time > " . $except_time . " OR p.post_edit_time > " . $except_time . ")
AND (p.post_time > r.visit_time OR p.post_edit_time > r.visit_time OR r.topic_id IS NULL)
AND p.forum_id IN (" . $auth_forum_id . ")
$no_forum_count[p])
OR (r.always_read = '1')
ORDER BY p.topic_id DESC, p.post_id DESC";
Nach ein paar Performancetest konnte ich das bestätigen und hab mal ein wenig gebastelt. Ich denke dabei eine Lösung gefunden zu haben.

Code: Alles auswählen

$sql = "SELECT p.post_id, p.topic_id, p.post_edit_time, p.post_time, r.always_read, p.forum_id
FROM " . POSTS_TABLE . " AS p LEFT OUTER JOIN " . UPI2DB_READ_TOPICS_TABLE . " AS r
ON ( p.topic_id = r.topic_id AND r.user_id = " . $userdata['user_id'] . ")
WHERE ( (r.user_id = " . $userdata['user_id'] . " OR r.user_id IS NULL)
AND (p.post_time > " . $except_time . " OR p.post_edit_time > " . $except_time . ")
AND (p.post_time > r.visit_time OR p.post_edit_time > r.visit_time OR r.topic_id IS NULL)
AND p.forum_id IN (" . $auth_forum_id . ")
$no_forum_count[p])
UNION
SELECT p.post_id, p.topic_id, p.post_edit_time, p.post_time, r.always_read, p.forum_id
FROM " . POSTS_TABLE . " AS p LEFT OUTER JOIN " . UPI2DB_READ_TOPICS_TABLE . " AS r
ON ( p.topic_id = r.topic_id AND r.user_id = " . $userdata['user_id'] . ")
WHERE  (r.always_read = '1')
ORDER BY 2 DESC, 1 DESC";
Falls diese Idee schon jemand gekommen ist und ich sie hier nur nicht finden konnte, dann verzeiht meine Störung. Ansonsten viel Spass mit dem schnelleren Forum :).


cu
Chellie
Visit PC Player forever on http://www.pcplayer.de
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

gibt es eine möglichkeit bestehende posts auch als permanent gelesen markieren zu können?

atm gehen ja nur die beiträge, welche nach dem einbau des mods hinzukamen.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Also, ich kann komplette Foren und auch komplette Topics als permanent gelesen markieren.

Einfach auf das Icon vor dem Forum bzw. dem Topic anklicken :-)
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

probier das mal bei einem thread der vor dem einbau dieses mod existiert hat und seitdem nicht verändert wurde.

kannst es ja bei mir testen:
test/test

in der lounge lassen sich die ersten post-upi2db posts markieren und die pre-upi2db posts nicht:
http://www.niedermayr.cc/forum/viewforum.php?f=2
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Nein, das geht natürlich nicht.

Workaround:

Schreibe einen Beitrag zu dem Topic (oder wenn du MOD / ADMIN bist, editiere einen Beitrag von diesem gewünschten Topic).

Danach kannst du diesen Topic auch als dauerhaft gelesen markieren.
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

lieber wäre mir eine manipulation der db, die genau das macht, aber ohne genauen plan dieses mods, traue ich mich d a nicht ran.
RAD0N
Mitglied
Beiträge: 29
Registriert: 26.10.2005 23:14

Beitrag von RAD0N »

Der Link geht nicht... Der lässt mich nicht auf die Seite...
Benutzeravatar
miccom
Mitglied
Beiträge: 5620
Registriert: 30.03.2003 23:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von miccom »

RAD0N hat geschrieben:Der Link geht nicht... Der lässt mich nicht auf die Seite...
falls du den link zu bigrip meinst nimm als alternative www.oxpus.de
RAD0N
Mitglied
Beiträge: 29
Registriert: 26.10.2005 23:14

Beitrag von RAD0N »

ja... nein...

Der Server auf dem der Download liegt lässt mich nich rein. error 403 egal welche seite dorthin verlinkt
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“