Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.27 veröffentlicht (22.06.21)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Wortfilter nur für bestimmte Usergruppe
#11
Bist du sicher, dass du den Beitragstitel meinst und nicht den Threadtitel, der oben drüber und in der Übersicht steht?
Für den Threadtitel müsstest du in der Datei showthread.php nach so etwas wie $parser->parse_badwords($thread['subject']) suchen und dort entsprechen die Bedingung einbauen.
Zitieren
#12
Ja, ich meine den Threadtitel, sorry für die Verwirrung (die Möglichkeit, einzelne Antworten innerhalb eines Threads extra zu betiteln, ist mir bis jetzt gar nicht so bewusst aufgefallen *g*).

Also showthread.php beinhaltet folgende Zeilen mit einem "$parser->parse_badwords":
Zeile 86:
PHP-Code:
$reply_subject $parser->parse_badwords($thread['subject']); 
Zeile 1204:
PHP-Code:
$similar_thread['subject'] = $parser->parse_badwords($similar_thread['subject']); 
Zeile 1624:
PHP-Code:
$post['subject'] = htmlspecialchars_uni($parser->parse_badwords($post['subject'])); 


Alle drei habe ich nun (nach der Reihe) mit einem
PHP-Code:
if($mybb->usergroup['gid'] == 2)
{


umschlossen, doch die badwords in den Threadtiteln werden weiterhin auch für Soll-Leseberechtigte ersetzt.
Zitieren
#13
Die Frage ist ja, möchtest du den Wortfilter allgemein, also überall nur für Gruppe 2 haben oder nur für bestimmte Dinge wie Beiträge und Threadtitel?
Wenn du ihn nur für bestimmte Dinge einschränken willst, musst du das an allen Stellen tun, an denen er dafür angewendet wird. Beim Threadtitel ist das nicht nur in der showthread.php, auch in der forumdisplay.php, functions_forumslist.php, portal.php und einige andere.

Wenn du den Wortfilter hingegen generell auf die Gruppe 2 beschränken willst, dann brauchst du das alles nur an einer Stelle machen, in der inc/class_parser.php in der Funktion parse_badwords.
Einfach am Start um die Bedingung erweitern. Dann sehen die ersten Zeilen so aus:

PHP-Code:
function parse_badwords($message$options=array())
{
    global $mybb;

    if($mybb->usergroup['gid'] != '2')
    {
        return $message;
    }

    if(empty($this->options)) 
Zitieren
#14
Danke, es funktioniert nun alles so wie ich wollte.
Ja, der Wortfilter soll für Gruppe 2 einfach überall gelten.
Es überrascht mich in der Tat, dass ich die erste mit diesem Problem war, dass man den Wortfilter nur auf bestimmte Gruppen anwendet. Es gibt nicht mal ein Plugin für sowas. Dabei ist eine solche Unterscheidung zwischen Gruppen eines der ersten Schritte die man z.B. zur Einrichtung eines Jugendschutzes in einem Forum braucht.
Zitieren
#15
Eine Frage wollte ich noch stellen: Du schreibst die Zahl 2 zwischen Apostrophen. Aber es funktioniert ja auch ohne. Ist das mit den Apostrophen eine allgemeingültigere Schreibweise, sodass man damit mehr Möglichkeiten hat? Oder haben die Apostrophe eh keine Funktion abgesehen von ihrer optischen Funktion?
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Wortfilter Nr. 2 masi1234 16 769 15.05.2021, 10:31
Letzter Beitrag: masi1234
  Usergruppe - Link rausnehmen... funtions.php? Cabeswater 2 636 19.07.2019, 17:25
Letzter Beitrag: Cabeswater
  Bei Registrierung automatisch Usergruppe zuordnen regaddi 2 944 16.03.2017, 20:55
Letzter Beitrag: regaddi
  Usergruppe -> Thread farbig KaSo 33 4.355 28.11.2016, 20:37
Letzter Beitrag: MrBrechreiz
  Usergruppe + ForenID Abfrage TelCont@r 15 2.360 01.06.2014, 18:25
Letzter Beitrag: MrBrechreiz