Seite 1 von 1

Gäste dürfen schreiben aber nicht lesen

Verfasst: 30.03.2008 09:54
von bazillus
Hallo,

Gäste sollen in einem Forum neue Themen erstellen dürfen, diese aber nicht sehen.
Forenrechte ->Gäste "Kann neue Themen im Forum starten" und sonst nichts.
Beim Versuch die posting.php mit den entsprechenden Variablen aufzurufen wird man zum Login weitergeleitet. Aktiviert man für Gäste zusätzlich "Kann Forum lesen" funktioniert das Schreiben, aber der Gast kann das komplette Forum inkl. der einzelenen Beiträge sehen...

Beim scrollen in der posting.php bin ich auf folgenden Code gestoßen

Code: Alles auswählen

// Is the user able to read within this forum?
if (!$auth->acl_get('f_read', $forum_id))
{
	if ($user->data['user_id'] != ANONYMOUS)
	{
		trigger_error('USER_CANNOT_READ');
	}

	login_box('', $user->lang['LOGIN_EXPLAIN_POST']);
}
Entfernt, getestet und funktioniert, aber was funktioniert jetzt nicht mehr?

Verfasst: 30.03.2008 10:19
von gn#36
Wenn du das entfernst kannst du keinem User mehr die Posting-Rechte verwehren wenn er nicht berechtigt ist das Forum zu lesen. Ich bin mir nicht ganz sicher was für Konsequenzen das hätte, evtl. reißt du damit Sicherheitslücken auf (der Einzige Kandidat der mir hierzu einfällt wäre, dass es evtl. gar keine weitere Abfrage mehr gibt, ob der User eingeloggt ist und somit undefinierte Zustände möglich wären, wenn der User dann doch mal nur eingeloggt posten dürfen soll, allerdings ist das auch recht unwahrscheinlich, im Zweifel dürfte es dann eben keine Login-Box sondern eine Fehlermeldung wegen fehlender Rechte geben).

Für dich wäre evtl. dieser Mod hilfreich, der macht das genauso, aber komfortabel über das Rechtesystem konfigurierbar:
Diary Mod / Lesen Fremder Themen verbieten

Ich habe den zwar mit einer RC Version entwickelt, allerdings gehe ich nicht davon aus dass sich da irgendwas dran geändert hat, so dass das ganze korrekt funktionieren sollte. Damit kannst du dann genau wählen, wer posten darf und wer nicht, außerdem lässt sich das auf nur eigene Beiträge erweitern, so dass du dann eine Meckerecke einrichten kannst, in der nur du und der postende User lesen können soll. Wenn du das nicht brauchst dürften die Änderungen an der posting.php allerdings ausreichen.

Wenn ich mir das MODX File noch mal ansehe, dann habe ich in dem Mod allerdings im Prinzip nicht viel anderes gemacht, ich habe lediglich die Möglichkeit offengehalten, dass wenn das neu eingeführte Recht nicht gesetzt ist und auch das generelle Lesen nicht erlaubt ist eine Login-Box kommt, bei dir gibt's diese Unterscheidung nicht, sofern du aber in allen Foren das Posting verboten hast dürfte das eigentlich kein Problem darstellen.

Verfasst: 30.03.2008 11:55
von bazillus
Danke für den Link zu deinem MOD, die Veränderungen in der posting.php haben gereicht. Fürhre ich die Änderungen in der viewtopic und viewforum auch durch, können Gäste wieder das komplette Forum inkl. der Beiträge lesen...

Verfasst: 30.03.2008 21:55
von gn#36
Nicht wenn du die Berechtigungen wie beschrieben setzt ;)

Aber die brauchst du auch gar nicht ändern wenn du die anderen Features nicht brauchst.