Ohne Beitrag -- Kein Lesen mehr möglich

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
feuerteufel
Beiträge: 65
Registriert: Mi 20.Jun, 2007 13:40

Ohne Beitrag -- Kein Lesen mehr möglich

Beitrag von feuerteufel »

Hallo Leute,
gibt es die Möglichkeit, User die nach x-tagen, in einen Bestimmten Forenbereich KEIN Eintrag gemacht haben, am Weiterlesen hindern, bzw. nur den Bereich führen wo sie einen Beitrag schreiben können.


mfg
der feuerteufel
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

gibt es die Möglichkeit...
Grundsätzlich ja, aber nicht ohne Anpassung des Forums und der Rechteverwaltung.
Ist auch nicht trivial und kann zu mehreren zusätzlichen Abfragen führen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
feuerteufel
Beiträge: 65
Registriert: Mi 20.Jun, 2007 13:40

Beitrag von feuerteufel »

nun meine Idee wäre ja schon gewesen, wenn ich den/die User/in in eine bestimmt Gruppe zugeordnet hätte und diese Gruppe nur das bestimmte Foren mit Schreibrechte sehen können, und dann würde man ihn wieder aus der Gruppe entlassen, wenn er sein Beitrag geschrieben hat.


gruß der feuerteufel
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das wäre ja nicht das, was Du wolltest.

Was müsste man denn, rein theoretisch, alles machen?
- Prüfen, ob in einem Forum (Kategorie) zwischen heute und heute - x Tage der aktuelle User gepostet hat = 1 zusätzliche SQL-Abfrage (und die bei jedem Seitenaufruf des Boards!)
- Wenn das der Fall ist, alles andere vergessen
- Ist das nicht der Fall, dann Rechte ändern.

Die Rechte ändern geht dann auf mehrere Weisen:
- User aus einer Gruppe entfernen (also automatisch) = neue SQL-Anweisung
- Forenrechte "verbiegen", so daß der User das Forum nicht betreten kann oder zumindest darin lesen.

Bei beiden Varianten müssten aber auch alle MODs, die zusätzlich ins Forum kämen, die Gruppenbefugnisse oder zumindestens die auth-Funktionen des Forums verwenden, sonst wäre wieder Handarbeit angesagt.
Als Alternative könnte man auch in der viewforum.php und viewtopic.php prüfen, ob ein User hier lesen darf (o. g. Abfrage). Die Abfrage würde dann also nur dort durchgeführt und nicht bei jedem Aufruf irgendeiner Forenseite.

Nachteil hierbei:
MODs, die davon unabhängig Beiträge/Topics anzeigen müsste auch dementsprechend angepasst werden und auch die Suche wäre zu ändern, da die betreffenden Foren ja auszunehmen sind.
Also letzlich "Berechtigung-am-halben-Arm".

Das einfachste wäre dann eben noch die Variante mit den Gruppenrechten, aber wie gesagt: Das bedarf dann immer mind. eine SQL-Abfrage, egal, welche Board-Seite angezeigt wird, da man ja feststellen muss, ob in einem Bereich der User in den letzten X Tagen gepostet hat und dann eben aus der Gruppe löschen. Wobei man hier eher eine weitere Abfrage vorab benötigt, ob der User überhaupt in dieser Gruppe vorhanden ist. Wenn nicht, würde der restliche Teil wegfallen, wenn ja, könnten im ungünstigsten Fall 3 SQL-Abfragen fällig sein.
2 auf jeden Fall, wenn der User in der Gruppe vorhanden ist, eine, wenn nicht.

Wie Du also nun siehst, insgesamt kein leichtes Thema...
Nicht vom Erstellen eines solchen MODs, aber von der Thematik her.
Nur kann ich da aktuell wenig mit einem MOD helfen, zumal ich neue Dinge eh nicht mehr kostenlos umsetze (siehe hier: http://www.oxpus.de/viewtopic.php?t=8011 )
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten