Wortfilter nur für bestimmte Usergruppe - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Wortfilter nur für bestimmte Usergruppe (/thread-37796.html) Seiten: Seiten:
1
2
|
Wortfilter nur für bestimmte Usergruppe - masi1234 - 18.04.2021 Hallo, ich suche einen Wortfilter, den man auf eigens ausgewählte Usergruppen anwenden kann. Der Wortfilter, der in MyBB von Haus aus eingebaut ist, wird auf alle Usergruppen angewendet. Ich habe dieses Problem nun Teilweise lösen können, indem ich in der Datei inc/class_parser.php die Zeilen Code: if(!empty($this->options['filter_badwords'])) Code: if(!empty($this->options['filter_badwords']) AND ($mybb->usergroup['gid'] == 2)) Funktioniert auch, es werden alle badwords in den Postings ersetzt, und zwar nur für Usergruppe 2, für die anderen Usergruppen nicht. Das Problem: In den Titeln der Postings werden die badwords weiterhin für alle Usergruppen ersetzt. Wo müsste ich die Bedingung AND ($mybb->usergroup['gid'] == 2) einbauen, damit badwords auch den Titeln nur für Usergruppe 2 ersetzt werden? LG RE: Wortfilter nur für bestimmte Usergruppe - Gerti - 18.04.2021 Der gesuchte Syntax ist beinhaltet in: ./inc/class_parser.php > // Filter bad words if requested. > ca. Zeile 132 > // Filter bad words if requested. > Ca. Zeile 1974 ./inc/functions_post.php > case 1: // Message preview > ca. Zeile: 76 > case 2: // Private message > ca. Zeile: 88 > case 3: // Announcement > ca. Zeile 99 > default: // Regular post > Ca. zeile 112 ./inc/agreement.php > // Set up MyCode parser options > ca. Zeile 1435 > // Set up MyCode parser options > ca. Zeile 1771 RE: Wortfilter nur für bestimmte Usergruppe - Schnapsnase - 18.04.2021 (18.04.2021, 13:48)Gerti schrieb: Der gesuchte Syntax ist beinhaltet in: Hierbei handelt es sich allerdings wohlbemerkt um eine Plugin-Datei. RE: Wortfilter nur für bestimmte Usergruppe - masi1234 - 18.04.2021 Danke soweit. In ./inc/functions_post.php habe ich also die besagten 4 Zeilen mit Code: $parser_options['filter_badwords'] = 1; Was muss ich mit diesen 4 Zeilen machen? Ich habe sie mal durch Code: $parser_options['filter_badwords'] = ($mybb->usergroup['gid'] == 2); RE: Wortfilter nur für bestimmte Usergruppe - Gerti - 18.04.2021 (18.04.2021, 14:31)masi1234 schrieb: und ./inc/agreement.php gibt's in meinem Filesystem nicht.Wie Schnapsnase bereits mitteilte, ist handelt es sich hierbei um ein PlugIn. Sorry das ich dies versehentlich mit aufführte. (18.04.2021, 14:31)masi1234 schrieb: Ich habe sie mal durchEventuell: Code: $parser_options['filter_badwords'] && ($mybb->usergroup['gid'] == 2); RE: Wortfilter nur für bestimmte Usergruppe - Schnapsnase - 18.04.2021 Wie Du im Parser unschwer erkennen kannst, wirkt der Filter nur auf URL`s und Messages. Der Threadtitel ist nicht einbezogen. Hier hilft also nur ein Plugin oder eine eigene Anpassung der inc/class_parser.php RE: Wortfilter nur für bestimmte Usergruppe - doylecc - 18.04.2021 (18.04.2021, 12:36)masi1234 schrieb: Das Problem: In den Titeln der Postings werden die badwords weiterhin für alle Usergruppen ersetzt. Wo müsste ich die Bedingung Titel werden in der Datei inc/functions_post.php durch den Wortfilter geschickt: PHP-Code: // Dont want any little 'nasties' in the subject RE: Wortfilter nur für bestimmte Usergruppe - masi1234 - 18.04.2021 Müsste ich da eine if-Anweisung einführen? Wie müsste der Code dafür aussehen? Als ich die Zeile einfach durch Code: $post['subject'] = $parser->(parse_badwords($post['subject']) && ($mybb->usergroup['gid'] == 2)); Nachtrag: Code: // Dont want any little 'nasties' in the subject Nachtrag Nr. 2: Syntax-Error behoben, aber leider keine Lösung des eigentlichen Problems: Code: // Dont want any little 'nasties' in the subject RE: Wortfilter nur für bestimmte Usergruppe - doylecc - 18.04.2021 Beachte auch, dass mit der Abfrage von $mybb->usergroup['gid'] die Gruppe desjenigen abgefragt wird, der den Beitrag liest. Für die Gruppe des Beitragerstellers müsste dessen Gruppe abgefragt werden: PHP-Code: // Dont want any little 'nasties' in the subject RE: Wortfilter nur für bestimmte Usergruppe - masi1234 - 18.04.2021 Es soll eh die Gruppe des Lesenden abgefragt werden. Aber mein Code funktioniert aus irgendeinem Grund nicht: Die badwords werden in den Titeln weiterhin auch für Soll-Leseberechtigte ersetzt. |