Gruppenberechtigung
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.
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.
Gruppenberechtigung
Schön guten Tag,
Ich habe mal den folgenden Code getestet und funktioniert auch.
Ich würde den aber gern soweit ändern, dass nicht nur Moderatoren und Admins antworten können, sondern auch eine bestimmte Gruppe.
Vielen Dank
Karsten
Ich habe mal den folgenden Code getestet und funktioniert auch.
Ich würde den aber gern soweit ändern, dass nicht nur Moderatoren und Admins antworten können, sondern auch eine bestimmte Gruppe.
Vielen Dank
Karsten
Zuletzt geändert von Karsten A am 13.10.2007 11:53, insgesamt 1-mal geändert.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Du hast ja hier bereits mit einer neuen Berechtigungsstufe gearbeitet. Die Gruppenberechtigung kannst du ähnlich mit einer neuen Gruppenberechtigung realisieren. Hierzu fügst du in die phpbb_auth_access und die phpbb_forums eine neue Spalte ein, z.b. mit dem Namen "auth_reply_self_topics" und verwendest diese dann. (Nicht vergessen die neue Berechtigung in der constant.php und der auth.php einzufügen!)
Wenn du diese erstellt hast kannst du durch setzen oder löschen dieser Berechtigung das Verhalten steuern, wenn du das auch entsprechend in der posting.php einbaust. Hierzu müsste es dann reichen wenn nach dieser Zeile:
sowas wie das hier kommt:
Wenn du diese erstellt hast kannst du durch setzen oder löschen dieser Berechtigung das Verhalten steuern, wenn du das auch entsprechend in der posting.php einbaust. Hierzu müsste es dann reichen wenn nach dieser Zeile:
Code: Alles auswählen
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $post_info);
Code: Alles auswählen
if(($mode == 'reply' || $mode == 'quote') && $is_auth['auth_reply_self_topics'])
{
//Prüfen ob in diesem Forum Antworten auf eigene Posts erlaubt ist:
if($post_info['auth_reply'] == AUTH_SELF)
{
$is_auth['auth_reply'] = true;
}
}
Zuletzt geändert von gn#36 am 29.08.2007 11:49, insgesamt 1-mal geändert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Hallo,
danke.
Ich habe diesen Code nur so gefunden, also nicht erarbeitet und verstehe jetzt leider nicht, was ich machen müßte.
So wie es jetzt ist, kann der Threadersteller seinen Thread sehen und Moderatoren bzw. Admin.
Alle anderen Themen in dem entsprechenden Unterforum können nur die Mods und der Admin sehen.
Das ist auch ok so, nur möchte ich bestimmten Mitgliedern, aslo einer Gruppe, auch erlauben alle Threads zu lesen und auch zu antworten.
Gruß
Karsten
danke.
Ich habe diesen Code nur so gefunden, also nicht erarbeitet und verstehe jetzt leider nicht, was ich machen müßte.
So wie es jetzt ist, kann der Threadersteller seinen Thread sehen und Moderatoren bzw. Admin.
Alle anderen Themen in dem entsprechenden Unterforum können nur die Mods und der Admin sehen.
Das ist auch ok so, nur möchte ich bestimmten Mitgliedern, aslo einer Gruppe, auch erlauben alle Threads zu lesen und auch zu antworten.
Gruß
Karsten
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Ah so. Gut. Dann probieren wir das doch mal...
Ich kenne allerdings den Mod nicht, das folgende basiert daher auf einem "flüchtigen" Blick auf den Mod, ein umfangreiches Backup vorher kann also sicherlich nicht schaden
Führe den folgenden SQL Befehl aus:
Danach fügst du in der auth.php in das hier:
diese beiden Einträge ein:
Ersteres kommt in der ersten langen Zeile vor das einfache Anführungszeichen und das Semikolon (mit einem Komma davor), das zweite in die Zeile direkt darunter vor die schließende Klammer ganz am Ende.
Wenn du andere zusätzliche Berechtigungen drin haben solltest, dann ist es möglich dass diese Zeilen nicht mehr ganz so aussehen wie oben beschrieben, dennoch einfach alles am Ende einfügen.
Danach die Änderung im Posting oben beschrieben durchführen.
Dann noch in der admin_forumauth.php nach dem hier:
einfügen:
Außerdem in der admin_ug_auth.php suchen:
Danach einfügen:
Danach in der constants.php bei den //Auth settings hinzufügen:
Wichtig: Wenn hier 11 und 12 schon belegt sein sollten, dann wähle beliebige andere Nummern, die noch nicht belegt sind. Mehr als dreistellig sollten sie aber nicht werden, sonst gibt's Probleme mit der Datenbank.
Jetzt sollte zumindest das Erlauben des Antwortens schon mal gehen (lesen weiterhin nicht). Hierzu muss dann bei den Forenberechtigungen eingestellt werden, dass das Forum in dieser Berechtigung Gruppenspezifisch eingeteilt wird.
Um das Leserecht zu vergeben brauche ich zusätzliche Informationen:
Wie sieht die Berechtigungsstruktur derzeit aus? Ist es möglich die Themenübersicht des Forums zu betrachten und dann nur die Beiträge nicht (damit man neue Themen erstellen kann und eigene dann lesen kann)? Verlinke der Einfachheit halber vielleicht einfach mal viewforum.php und viewtopic.php (KB:datei). Bitte das oben auch schon mal ausführen und testen.
Ich kenne allerdings den Mod nicht, das folgende basiert daher auf einem "flüchtigen" Blick auf den Mod, ein umfangreiches Backup vorher kann also sicherlich nicht schaden

Führe den folgenden SQL Befehl aus:
Code: Alles auswählen
ALTER TABLE phpbb_forums ADD auth_reply_self_topics tinyint (3) DEFAULT 0;
ALTER TABLE phpbb_forums ADD auth_read_self_topics tinyint (3) DEFAULT 0;
ALTER TABLE phpbb_auth_access ADD auth_reply_self_topics tinyint (1) DEFAULT 0;
ALTER TABLE phpbb_auth_access ADD auth_read_self_topics tinyint (1) DEFAULT 0;
Code: Alles auswählen
case AUTH_ALL:
$a_sql = 'a.auth_view, a.auth_read, a.auth_post, a.auth_reply, a.auth_edit, a.auth_delete, a.auth_sticky, a.auth_announce, a.auth_vote, a.auth_pollcreate';
$auth_fields = array('auth_view', 'auth_read', 'auth_post', 'auth_reply', 'auth_edit', 'auth_delete', 'auth_sticky', 'auth_announce', 'auth_vote', 'auth_pollcreate');
break;
Code: Alles auswählen
a.auth_reply_self_topics, a.auth_read_self_topics
Code: Alles auswählen
'auth_reply_self_topics', 'auth_read_self_topics'
Wenn du andere zusätzliche Berechtigungen drin haben solltest, dann ist es möglich dass diese Zeilen nicht mehr ganz so aussehen wie oben beschrieben, dennoch einfach alles am Ende einfügen.
Danach die Änderung im Posting oben beschrieben durchführen.
Dann noch in der admin_forumauth.php nach dem hier:
Code: Alles auswählen
$field_names = array(
'auth_view' => $lang['View'],
'auth_read' => $lang['Read'],
'auth_post' => $lang['Post'],
'auth_reply' => $lang['Reply'],
'auth_edit' => $lang['Edit'],
'auth_delete' => $lang['Delete'],
'auth_sticky' => $lang['Sticky'],
'auth_announce' => $lang['Announce'],
'auth_vote' => $lang['Vote'],
'auth_pollcreate' => $lang['Pollcreate']);
Code: Alles auswählen
$field_names['auth_read_self_topics'] = "Priv. Themen lesen";
$field_names['auth_reply_self_topics'] = "Priv. Themen beantworten";
$forum_auth_fields[] = 'auth_read_self_topics';
$forum_auth_fields[] = 'auth_reply_self_topics';
Code: Alles auswählen
$field_names = array(
'auth_view' => $lang['View'],
'auth_read' => $lang['Read'],
'auth_post' => $lang['Post'],
'auth_reply' => $lang['Reply'],
'auth_edit' => $lang['Edit'],
'auth_delete' => $lang['Delete'],
'auth_sticky' => $lang['Sticky'],
'auth_announce' => $lang['Announce'],
'auth_vote' => $lang['Vote'],
'auth_pollcreate' => $lang['Pollcreate']);
Code: Alles auswählen
$field_names['auth_read_self_topics'] = "Priv. Themen lesen";
$field_names['auth_reply_self_topics'] = "Priv. Themen beantworten";
$forum_auth_fields[] = 'auth_read_self_topics';
$forum_auth_fields[] = 'auth_reply_self_topics';
$auth_field_match['auth_read_self_topics'] = AUTH_READ_SELF_TOPICS;
$auth_field_match['auth_reply_self_topics'] = AUTH_REPLY_SELF_TOPICS;
Code: Alles auswählen
define('AUTH_READ_SELF_TOPICS', 11);
define('AUTH_REPLY_SELF_TOPICS', 12);
Jetzt sollte zumindest das Erlauben des Antwortens schon mal gehen (lesen weiterhin nicht). Hierzu muss dann bei den Forenberechtigungen eingestellt werden, dass das Forum in dieser Berechtigung Gruppenspezifisch eingeteilt wird.
Um das Leserecht zu vergeben brauche ich zusätzliche Informationen:
Wie sieht die Berechtigungsstruktur derzeit aus? Ist es möglich die Themenübersicht des Forums zu betrachten und dann nur die Beiträge nicht (damit man neue Themen erstellen kann und eigene dann lesen kann)? Verlinke der Einfachheit halber vielleicht einfach mal viewforum.php und viewtopic.php (KB:datei). Bitte das oben auch schon mal ausführen und testen.
Zuletzt geändert von gn#36 am 29.08.2007 11:14, insgesamt 1-mal geändert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Guten Morgen,
vielen Dank, dass Du mir hilfst.
ich habe nun die von Dir aufgeführten Änderungen durchgeführt.
Wenn ich nun den Adminbereich aufrufe, kommt in der linken Spalte folgende Fehlermeldung:
Wenn sie in der Themenübersicht die anderen Vorstellungen sehen, aber nicht lesen können, ist das auch ok.
Dort gibt es einen User Test, der in der Gruppe test drin ist.
Momentan sieht dieser aber nur seine eigenen Beiträge, soll aber, bedingt durch die Gruppenmitgliedschaft auch alle Beiträge im Unterforum "test" sehen und beschreiben können. Das Unterforum "test" ist nur im eingeloggten Zustand sichtbar.
Ein weiterer User Test2 ist Moderator und kann alles schon,was ich gerne der Gruppe erlauben möchte.
Die Zugangsdaten der beiden Testuser habe ich Dir per PN gesendet.
Gruß
Karsten
vielen Dank, dass Du mir hilfst.
ich habe nun die von Dir aufgeführten Änderungen durchgeführt.
Wenn ich nun den Adminbereich aufrufe, kommt in der linken Spalte folgende Fehlermeldung:
Code: Alles auswählen
Parse error: syntax error, unexpected T_DOUBLE_ARROW in admin_ug_auth.php on line 94
Im Endeffeckt geht es nur darum, dass neue Teilnehmer, die sich zwingend im Vorstellungsbereich vorstellen müssen, nur ihre eigenen Threads erstellen und auch nur dort antworten können.Wie sieht die Berechtigungsstruktur derzeit aus? Ist es möglich die Themenübersicht des Forums zu betrachten und dann nur die Beiträge nicht (damit man neue Themen erstellen kann und eigene dann lesen kann)?
Wenn sie in der Themenübersicht die anderen Vorstellungen sehen, aber nicht lesen können, ist das auch ok.
Dort gibt es einen User Test, der in der Gruppe test drin ist.
Momentan sieht dieser aber nur seine eigenen Beiträge, soll aber, bedingt durch die Gruppenmitgliedschaft auch alle Beiträge im Unterforum "test" sehen und beschreiben können. Das Unterforum "test" ist nur im eingeloggten Zustand sichtbar.
Ein weiterer User Test2 ist Moderator und kann alles schon,was ich gerne der Gruppe erlauben möchte.
Die Zugangsdaten der beiden Testuser habe ich Dir per PN gesendet.
Gruß
Karsten
Zuletzt geändert von Karsten A am 13.10.2007 11:55, insgesamt 1-mal geändert.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Ok in der admin_ug_auth hat sich ein Flüchtigkeitsfehler eingeschlichen. Ersetze durch
Die übrigen Dinge schaue ich mir an sobald der Teil mit den Berechtigungen läuft. Hierzu musst du dann zum Testen erst mal temporär deinem Testuser generelle Leserechte geben, die Antwortmöglichkeit aber auf eigene Themen stellen (dann sollte der User ja erst einmal nur auf eigene Themen antworten können). Danach gibst du ihm dann über die Gruppe das Recht, auch auf fremde Themen zu antworten und schaust ob das so klappt wie vorgestellt.
Code: Alles auswählen
$auth_field_match['auth_read_self_topics'] => AUTH_READ_SELF_TOPICS;
$auth_field_match['auth_reply_self_topics'] => AUTH_REPLY_SELF_TOPICS;
Code: Alles auswählen
$auth_field_match['auth_read_self_topics'] = AUTH_READ_SELF_TOPICS;
$auth_field_match['auth_reply_self_topics'] = AUTH_REPLY_SELF_TOPICS;
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Guten Morgen,
das mit der Änderung in der admin_ug_auth ist jetzt ok.
Registrierte können nur ihre eigenen Beiträge lesen und antworten.
Moderatoren können alle Beiträge lesen und antworten.
Die Gruppe kann leider auch nur das, was Registrierte können.
Bei den Gruppenbefügnissen kann mal leider keine Antwort ermöglichen, wenn bei den den Forenbefugnissen die Antwortmöglichkeit auf "self" steht.
Stelle ich die Forenbefugnisse auf "reg", ist alles, wie ohne die neuen Berechtigungen und bei "privat" das Gleiche.
Gruß
Karsten
das mit der Änderung in der admin_ug_auth ist jetzt ok.
Die Berechtigen sind jetzt so, wie der Mod es machen soll.Die übrigen Dinge schaue ich mir an sobald der Teil mit den Berechtigungen läuft. Hierzu musst du dann zum Testen erst mal temporär deinem Testuser generelle Leserechte geben, die Antwortmöglichkeit aber auf eigene Themen stellen (dann sollte der User ja erst einmal nur auf eigene Themen antworten können). Danach gibst du ihm dann über die Gruppe das Recht, auch auf fremde Themen zu antworten und schaust ob das so klappt wie vorgestellt.
Registrierte können nur ihre eigenen Beiträge lesen und antworten.
Moderatoren können alle Beiträge lesen und antworten.
Die Gruppe kann leider auch nur das, was Registrierte können.
Bei den Gruppenbefügnissen kann mal leider keine Antwort ermöglichen, wenn bei den den Forenbefugnissen die Antwortmöglichkeit auf "self" steht.
Stelle ich die Forenbefugnisse auf "reg", ist alles, wie ohne die neuen Berechtigungen und bei "privat" das Gleiche.
Gruß
Karsten
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
So ich habe das jetzt auch mal getestet. Kleine Änderung an den bestehenden Änderungen sollte es ermöglichen dass man die Berechtigung "auf fremde Themen antworten" vergeben kann:
anstelle von
Außerdem brauchst du in der viewforum.php und in der viewtopic.php jeweils nach diesem code:
bzw.
zusätzlich eingefügt das hier:
Bei mir im Testboard hat es danach einwandfrei funktioniert.
Code: Alles auswählen
if(($mode == 'reply' || $mode == 'quote') && $is_auth['auth_reply_self_topics'])
Code: Alles auswählen
if(($mode == 'reply' || $mode == 'quote') && !$is_auth['auth_reply'] && $is_auth['auth_reply_self_topics'])
Code: Alles auswählen
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);
Code: Alles auswählen
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_topic_data);
Code: Alles auswählen
if( $is_auth['auth_read_self_topics'] )
{
$is_auth['auth_read'] = true;
}
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Dann hast du vielleicht beim Einbau was falsch gemacht, denn bei mir klappt es genau so:
In einem Forum, in dem User nur auf eigene Posts antworten können sollen und auch nur eigene Themen sehen können sollen stellst du die Foren-Berechtigungen für lesen und antworten auf SELF. Zusätzlich musst du die Berechtigungen für "Priv. Themen lesen" und "Priv. Themen beantworten" auf PRIVATE stellen, so dass du dieses Recht in den Gruppenberechtigungen erteilen kannst.
Danach musst du nur noch die Gruppenrechte in diesen beiden Dingen setzen (und zwar manuell in der erweiterten Ansicht). Danach sollte das eigentlich funktionieren.
Da ich das Rechtesystem nicht völlig umkrempeln wollte ist das ganze ein neues Recht geworden und nicht mehr das übliche Recht "darf Antworten". Hier dürfte sich eigentlich keine Auswahlbox finden, da dieses Recht ja nicht auf Privat gestellt wurde, genauso beim Lesen.
In einem Forum, in dem User nur auf eigene Posts antworten können sollen und auch nur eigene Themen sehen können sollen stellst du die Foren-Berechtigungen für lesen und antworten auf SELF. Zusätzlich musst du die Berechtigungen für "Priv. Themen lesen" und "Priv. Themen beantworten" auf PRIVATE stellen, so dass du dieses Recht in den Gruppenberechtigungen erteilen kannst.
Danach musst du nur noch die Gruppenrechte in diesen beiden Dingen setzen (und zwar manuell in der erweiterten Ansicht). Danach sollte das eigentlich funktionieren.
Da ich das Rechtesystem nicht völlig umkrempeln wollte ist das ganze ein neues Recht geworden und nicht mehr das übliche Recht "darf Antworten". Hier dürfte sich eigentlich keine Auswahlbox finden, da dieses Recht ja nicht auf Privat gestellt wurde, genauso beim Lesen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.