Brauch 2 Denkanschuppser für Forum

Also ich bastle gerade an einem eigenen Forum. Ich hab da aber 2 Sachen bei denen ich noch nicht weis wie ich die realisieren kann.

Das erste ist die Sache das wenn jemand seit meinem letzten Besuch im Forum was gepostet hat, daß dann das jeweilige Forum und die darin enhaltenen Threads in denen gepostet sind halt farbig oder wie auch immer markiert sind. Und das wenn ich auf die entsprechenden Links zu den Threads klicke, diese dann als gelesen markiert werden.

Die zweite Sache ist, daß ich bestimmte Foren oder auch Threads nur für bestimmte Benutzergruppen zugänglich machen möchte. Hab aber keine Ahnung wie ich das anstellen soll, ohne dem jeweiligen Forum zig zusätzliche Felder in der Datenbank zu geben in denen dann drinn steht welche Benuzergruppen zugriff auf dieses Forum haben. Zumal ich ja dann später auch über den Adminbereich neue Benutzergruppen hinzufügen möchte. Und dann nicht jedes mal noch ein neues DB-Feld bei den Foren hinzufügen und mit Daten füllen möchte.

Hat jemand einen Tipp für mich wie ich das am besten realisieren kann?
 
Hi
kann man sich bei deinem forum anmelden oder einloggen Also vieleicht kannste das so machen mit if und else als gelesen markiert oder nicht.
 
Hallo!

Also beim erstem Problem würde ich sagen:
Die Beiträge werden in ja sicherlich in einer allgemeinen DB gespeichert.
Nun logt sich ein User ein, alle Beiträge sind als nicht gelesen markiert.
Wenn der User nun auf einen Beitrag klickt, wird die dazugehörige ID in seiner DB gespeichert.
So könnten die beiden DB's miteinander verglichen werden, dieses müsste automatisch bei jedem Seitenaufruf passieren.
Wenn nun jemand einen neuen Beitrag geschrieben hat, wird dieser ja nur in der allgemeinen DB gespeichert und schon würde dieser Beitrag als ungelesen angezeigt werden.

Zu deinem zweitem Problem:
Da wirst Du wohl mit zusätzlichen ID's arbeiten müssen.
Denn dass müsste ja nach dem Prinzipt der Userverifizierung passieren (zugehörigkeit einer bestimmten Gruppe).
Ob dieses schon beim Login geschiet oder erst beim Aufruf des Beitrags ist, so denke ich mal, eher Geschmackssache.

Hmm, ich hoffe Du verstehst einigermassen was ich meine.

Gruss Dr Dau
 
@Dr Dau:
Wenn ich dich bei 1 richtig verstnden habe, dann geht das ja nur solange bis er sich einen neuen Thread anguckt und die ID überschrieben wird. Oder du musst jede ID in eine neue Spalte schreiben, aber wie das gehen sollte kann ich mir nicht vorstellen, da du dann ja mehrere tausend Spalten brauchst, je nach größe des Forums, und es muss immer automatisch die nächste Spalte ausgesucht werden.

Aber, du könntest ja 2 Spalten machen bei jedem User, login und last_login oder sowas. In login steht der Timestamp vom login und in last_login vom letzten Login. Also:
Wenn man sich einloggt steht da z.B.

login=12
last_login=9

Außerdem noch eine last_modify in der Tabelle wo die Threads drinn stehen wo der Timestamp von der letzten änderung steht.

Dann kann man ja vergeleichen ob der Thread nach dem last_login verändert wurde. Allerdings ist das dann bis zum nächsten Login des Users für ihn markiert denke ich.

Gruß GalaxyWarrior
 
Zuletzt bearbeitet:
Hmm, wie sich dass umsetzen lässt weiss ich nicht, war nur so ein Gedankengang von mir.
Aber irgendwoher muss doch die Info kommen ob ein bestimmter User ein bestimmten Beitrag schon gelesen hat oder nicht.
Wann er eingelogt war dürfte eigentlich keine Rolle spielen, sondern viel mehr ob er eingelogt ist.
Hmm, auf jedenfall wird es wohl viel Arbeit machen.
 
Dr Dau hat gesagt.:
Wann er eingelogt war dürfte eigentlich keine Rolle spielen, sondern viel mehr ob er eingelogt ist.

? Wie meinste das? Natürlich spielt es eine Rolle wann er das letzte mal eingeloggt war, und wenn zwischen last_login und login ein Eintrag dazugekomme ist, dann wird der markiert. Das markieren alleine ist ja einfach, nur das er dann wieder während der Sitzung demarkiert wird wenn man ihn gelesen hat, das wird meiner ansicht anch kompliziert

Gruß GalaxyWarrior
 
Ich denke es kommt darauf an wie das ganze umgesetzt wird.
Es soll aber ja auch nicht nur geprüft werden ob seit dem letztem Login ein neuer Beitrag geschrieben wurde, sondern auch während der gesamten Loginzeit.
Wenn mir hier nur die Beiträge als neu angezeigt werden würden, die seit meinem letztem Logout hinzugekommen sind, hätte ich ja garnichts mehr zum lesen. ;)
 
Dann vieleicht noch action und last_action und da die Timestamps rein, der bei jedem Seitenaufruf neu eingetragen werden, so wie bei logi und last_login, und dann haste wenigstens die neuen Posts seit deinem letzten Refresh. Aber, dass geht nur wenn man mit einer festen Anzahl von Kategoreien areitet, weil dann kann man für jede Kategorie nen action und last_action machen. Sonst würde ja nur für das Forum geprüft wo man gerade ist.

Gruß GalaxyWarrior
 
Also erstmal Danke für die rege Beteiligung. Ich hätte nicht erwartet das sich gleich so viele Leute gedanken zu meinem Problem machen.

Ja zu erstens:
Im Momment hab ich das so mit dem Login und Last_login. Das Problem ist dabei halt nur das dann nur die Beiträge seit meinem letzten Login markiert sind und die die wärend meines logins dazu gekommen sind nicht. Wie ihr schon richtig erkannt habt. Außerdem ist dabei aber auch noch das Problem, wenn ich selber einen Beitrag schreibe und mich dann wieder aus und dann wieder einlogge, wird dieser auch als nicht gelesen markiert. Da dieser ja nach meinem letzten login geschrieben wurde.

Die Variante mit dem last_action hab ich mir auch schon überlegt. Nur leider ist dabei das Problem. Wenn jemand seit meinem letzten action 2 Beiträge in 2 verschiedenen Threads geschrieben hat. Sind diese beiden erstmal als ungelesen markiert. So wie es auch sein soll. Aber wenn ich dann auf einen der beiden Threads geklickt hab, ändert sich ja wieder mein last_action. Somit ist die änderung in dem zweiten Thread nicht mehr nach meinem last_action, sondern davor geschehen. Und somit wird dieser dann ja nicht mehr als ungelesen markiert. Das ist also auch nicht die optimalste Lösung.

Zum zweiten Problem:
Ich hab schon eine Tabelle in der die Rechte für die einzelnen Usergruppen fest gelegt sind. Aber halt nur diese ob sie Beiträge schreiben, editieren oder löschen usw. dürfen. Wenn ich dort jetzt die Rechte für die einzelnen Foren noch mit reinnehmen würde müßte ich ja in diese Tabelle noch für jedes einzelne Forum noch eine Spalte einfügen und mit daten füllen. Und wenn noch Foren hinzu kommen müßte automatisch noch eine Spalte hinzugefügt werden. Also das gleiche wie wenn ich dem Forum noch die Spalten für die benutzer gebe die zugriff auf das Forum haben.
Die Sache mit diesen Binärzahlen halte ich für genau so ungeeignet. Denn wenn ich dort die einzelnen Gruppen angebe die zugang zu diesem Forum haben müßte ich ja auch wenn eine neue Gruppe hinzu kommt diese dort hinzufügen und den Binärcode um eine Stelle verlängern. Was dann ja zur Folge hat das die Berechnung dann nicht mehr stimmmt. Somit müßte ich dann jedem Forum wieder eine andere Berechtigungsnummer zuweisen. Das hilft mir also auch nicht wirklich weiter.

Aber gehen muß es irgent wie. In anderen Foren funktioniert es ja auch.
 
Zurück