Kompletten Beitrag ausblenden, statt nur ein Wort

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Kompletten Beitrag ausblenden, statt nur ein Wort

    Name des Plugin: FilterGuestView

    Version des Plugins: 1.2.1

    WBB-Version: 3.1.7

    Verbesserungsvorschlag/Erweiterungswunsch:

    Wäre es möglich, eine Option einzubauen, dass der gesamte Text eines Beitrags durch den "Hinweis" ersetzt wird und nicht nur die gefundenenen Suchfilter?Im moment werden, soweit ich das verstanden habe, alle Filter durchlaufen und ein replace mit dem Hinweistext durchgeführt und am Ende der modifizierte Text zurückgegeben. Eigentlich sollte es da doch auch möglich sein, stattdessen alle Filter zu durchlaufen und an Stelle eines geänderten Textes einfach nur den Hinweistext zurück zu geben?

    Grüße vom
    Purzelkater
  • Probiers mal ganz einfach mit einem Sternchen als Filtertext, das könnte schon ausreichen.
    Ansonsten kannst du dir ja auch mal LimitGuestView ansehen, damit kannst du nur eine bestimmte Anzahl an Beiträgen zeigen, z.B. nur den ersten des Themas.
    "I do so enjoy my vork..." --- Heinrich Boerner
    "Everything's okay here folks. Nothing to see..." --- Roy Merritt - The Burning Man
  • Danke für die schnelle Antwort... aber leider ist das nicht ganz, was ich meinte. Die LimitedGuestView ist eine feine Sache, filtert aber nichts und ein * im Filter würde ja jeden Beitrag filtern.
    Was ich suche ist, dass der Filter auf die Suche anspringt, wie bisher auch, nur das dann nicht nur der gefundene Text, sondern der gesamte Beitrag ausgeblendet wird.

    Ich hab mir mal die Files angeschaut. In FilterGuestViewListener.class.php steht z.Bsp. folgendes:

    PHP Source Code

    1. foreach ($filterRules as $filterRule)
    2. {
    3. $filterRule = preg_quote($filterRule, '/');
    4. $filterRule = str_replace('\*', '.*', $filterRule);
    5. $filterRule = '/'.$filterRule.'/isU';
    6. $textCache = preg_replace($filterRule, WCF::getLanguage()->get('wbb.thread.filterguestmessage.html', array('PAGE_URL' => PAGE_URL)) , $textCache);
    7. $text = preg_replace($filterRule, WCF::getLanguage()->get('wbb.thread.filterguestmessage', array('PAGE_URL' => PAGE_URL)) , $text);
    8. }

    Was ich nun suche, wäre folgendes:

    PHP Source Code

    1. foreach ($filterRules as $filterRule)
    2. {
    3. $filterRule = preg_quote($filterRule, '/');
    4. $filterRule = str_replace('\*', '.*', $filterRule);
    5. $filterRule = '/'.$filterRule.'/isU';
    6. if (preg_match($filterRule, $text))
    7. {
    8. $textCache = WCF::getLanguage()->get('wbb.thread.filterguestmessage.html', array('PAGE_URL' => PAGE_URL));
    9. $text = WCF::getLanguage()->get('wbb.thread.filterguestmessage', array('PAGE_URL' => PAGE_URL));
    10. break;
    11. }
    12. }
    Display All

    Die anderen beiden Listener müssten natürlich auch entsprechend angepasst werden.

    Allerdings habe ich zu wenig Ahnung vom WCF/WBB-Code um zu sagen, ob diese Änderung(en) wirklich ohne Probleme funktionieren würden. Und die Lizenz des PlugIns erlaubt mir nicht, die Änderungen selbst vorzunehmen.

    Grüße vom
    Purzelkater
  • Ich verstehe nicht so ganz, was du genau erreichen willst?
    Wenn im Text ein bestimmtes Wort auftaucht, willst du das der gesamte Beitrag gefiltert wird? Aber nur dann?
    Also z.B. steht im Text das Wort "Spiel" und wenn das da ist, soll der gesamte Beitrag verschwinden?

    Dann versuch mal das:
    *Spiel*

    Das sollte das machen, was du willst.
    "I do so enjoy my vork..." --- Heinrich Boerner
    "Everything's okay here folks. Nothing to see..." --- Roy Merritt - The Burning Man
  • Toby wrote:

    Wenn im Text ein bestimmtes Wort auftaucht, willst du das der gesamte Beitrag gefiltert wird? Aber nur dann?
    Also z.B. steht im Text das Wort "Spiel" und wenn das da ist, soll der gesamte Beitrag verschwinden?

    Ganz genau. :)

    Toby wrote:

    Dann versuch mal das:
    *Spiel*

    Das sollte das machen, was du willst.

    Das war auch mein erster Gedanke, hat aber nicht geklappt. Es wird wird der Anfang des Beitrags einchließlich "Spiel" durch den Fitertext ersetzt, aber alles nach "Spiel" bleibt sichtbar.

    Grüße vom
    Purzelkater