Seite 2 von 2

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 29.03.2013 11:37
von Buchwurm
schnapp Dir nochmal den Code in der functions_content.php und lösche darin die beiden <br />
Du kannst auch das erste <br /> durch <p> und das zweite durch </p> ersetzen...

Hi,
hab beides versucht aber wenn ich alles Makiere ist es bei beiden für Gäste sichtbar dann.
Also wieder einzeln.

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 29.03.2013 18:46
von HabNurNeFrage
Hi,

nach ausgiebigem Testen und Rumprobieren komme ich zu folgendem Schluss:
Man kann alles durcheinander reinpacken und auch verschiedene Kombinationen aus bbCode-Verschachtelungen damit verbergen,
solange keine Umbrüche innerhalb des Codes gesetzt sind, also wenn beim Verfassen des Inhaltes innehalb des Codes nicht Enter gedrückt wird.
Sowie ein Umbruch durch Enter erfolgt, wird zwar geparsed, aber nicht mehr vor Gästen verborgen. (außer der Umbruch ist innerhalb von [ code ] )

Eine Möglichkeit, Umbrüche innerhalb des Codes einzufügen, ist ein weiterer neuer bbCode, der <br /> erzeugt.
Ist aber eher unwahrscheinlich, dass die User sich daran erinnern, dass darin dieser bbCode zum Umbrechen genutzt werden muss.

Eine zweite Möglichkeit wäre noch das Ersetzen aller Umbrüche durch je ein Leerzeichen oder <br />`s,
indem man das Tabellenfeld "first_pass_replace" in der Tabelle "phpbb_bbcodes" entsprechend anpassen würde.
Leider ist der Wert in einem Blob gespeichert und meine Kenntnisse reichen nicht zur Anpassung des dortigen Inhaltes.
Warum wird da eigentlich für einen relativ kurzen Text ein Blob verwendet? :roll:

Vielleicht weiß ja einer der Cracks hier, mit welchem SQL-Befehl und mit welchem Inhalt das Feld angepasst werden könnte...

LG

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 31.03.2013 18:09
von Buchwurm
Naja ich setzt die 3 Zeilen in einer zusammen dann klappt das ja.

Hab vielen Dank für deine Hilfe

Gruß
Buchwurm

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 04.04.2013 17:46
von BNa
Buchwurm hat geschrieben:Hi,
danke für die Erklärung funktioniert soweit nur ein problem bleibt.

Und zwar wird es nur dann unsichtbar wenn man jede Zeile in Intern stellt

Beispiel:
[intern]Klick Hier [/intern] so ist es unsichtbar wenn ich aber mehere Zeilen einstellen will

[intern]Klick Hier

Klick Hier

Klick Hier[/interm]
wird es so sichbar ?

Ich müste dann jede eineln also so

[intern]Klick Hier [/intern]

[intern]Klick Hier [/intern]

[intern]Klick Hier [/intern]

gibt es da noch ne Lösung mehere Zeilen (Reihen) mit einer Makierung intern zu setzen ?

Mfg
Sollte so zu lösen sein

Statt
HabNurNeFrage hat geschrieben:

Code: Alles auswählen

if (($user->data['user_id'] == ANONYMOUS) or $user->data['is_bot'])
    {
    $text = preg_replace('/\[intern(.*)\].*\[\/intern(.*)\]/', "<br /><span style=\"color:red;\">Nur Mitglieder sehen diese Inhalte.</span><br />", $text);
    }
mal so probieren
HabNurNeFrage hat geschrieben:

Code: Alles auswählen

if (($user->data['user_id'] == ANONYMOUS) or $user->data['is_bot'])
    {
    $text = preg_replace('/\[intern(.*)\].*\[\/intern(.*)\]/is', "<br /><span style=\"color:red;\">Nur Mitglieder sehen diese Inhalte.</span><br />", $text);
    }
Bezieht sich auf dieses Post: viewtopic.php?f=74&t=227295#p1297777

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 05.04.2013 18:46
von HabNurNeFrage
Hi...

PERFEKT - Tausend Dank 8)

Was bewirkt das "is"?

LG

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 07.04.2013 19:21
von Buchwurm
Dem kann ich mich nur anschliessen, 1000 DANK

Mfg

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 08.04.2013 01:02
von BNa
HabNurNeFrage hat geschrieben:Was bewirkt das "is"?
http://php.net/manual/de/reference.pcre ... ifiers.php

Mixe i und s (klein geschrieben).

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 01.05.2013 02:07
von HabNurNeFrage
Hi,

nach ausgiebigem Testen ist ein Problem aufgetaucht.
Nutzt man den bbCode und danach kommen noch "normale" Beitragsteile, werden diese in der Gast-Ansicht verschluckt.
Auch ein zweifaches Nutzen wird dadurch unsinnig.

Beispiel:
Text
[intern] Text [/intern]
Text
[intern] Text [/intern]


wird zu:
Text
Nur Mitglieder sehen die Inhalte an dieser Stelle.


Nach längerem Suchen und Lesen über RegEx und etlichen Suchmuster Experimenten kam ich zu folgender Lösung:

Code: Alles auswählen

    if (($user->data['user_id'] == ANONYMOUS) or $user->data['is_bot'])
    {
        $text = preg_replace('/\[intern(.*?)\].*?\[\/intern(.*?)\]/si', "
        <p><span style=\"color:red;\"><small>Nur Mitglieder sehen die Inhalte an dieser Stelle.</small></span></p>
        ", $text);
    } 
Mit diesem Code ergibt das Beispiel nun wie gewünscht:
Text
Nur Mitglieder sehen die Inhalte an dieser Stelle.
Text
Nur Mitglieder sehen die Inhalte an dieser Stelle.



Hoffentlich tauchen keine weiteren Probleme auf... :oops:

LG

Re: Spoiler für eine Benutzergruppe unsichtbar machen?

Verfasst: 01.05.2013 20:54
von HabNurNeFrage
(edit: habe es selbst gefunden)

Hi,

Um die Ausgabe im Feed auch zu unterbinden, macht man Folgendes:

Öffnen: feed.php

Finden: // Prepare some bbcodes for better parsing

DAVOR einfügen:

Code: Alles auswählen

    $content = preg_replace('/\[intern(.*?)\].*?\[\/intern(.*?)\]/si', "
            <p><small>Nur Mitglieder sehen die Inhalte an dieser Stelle.</small></p>
            ", $content);
Jetzt sind diese Inhalte wirklich komplett intern. Weder Bots noch Gäste können sie sehen...

LG