MyBB.de Forum
Text vor anderen verstecken - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Ideen und -Wünsche (https://www.mybb.de/forum/forum-73.html)
+--- Thema: Text vor anderen verstecken (/thread-32941.html)

Seiten: Seiten: 1 2


Text vor anderen verstecken - Purzel - 04.12.2015

Mahlzeit!

Gibt es schon eine Erweiterung für MyBB 1.8.x, mit der man Text in einem Beitrag so markieren kann, dass er nur von Beitragsersteller selbst und von den Admins gelesen werden kann?
Der Hintergrund ist, dass es sich um ein Rollenspielforum handelt und dort u.a. auch die Charakterbeschreibungen drin stehen sollen. Diese sollen zwar grundsätzlich für alle lesbar sein. Aber es gibt Teile, die nur der Spieler selbst und der Spielleiter wissen sollten, um den anderen nicht den Spaß zu nehmen.

Ich weiß, dass es den hide-Tag gibt, aber ich suche sozusagen eine Erweiterung davon. Auch habe ich schon diverse Plugins gesehen, die irgendwas verstecken können, aber dann irgendwie doch nicht in der von mir gesuchten Form.

Schonmal Danke und schöne Grüße
vom Purzelkater


RE: Text vor anderen verstecken - Devidra - 04.12.2015

Also willst du das der Forenteil nur vom ERSTELLER und/oder Moderatoren/Administratoren gesehen werden kann, aber kein anderer USER?

Wenn ja, dies ist auch ohne Plugin möglich

Setze im jeweiligen Forum einfach eine "Eigene Berechtigung" wo die Gruppe "Registriert" ( oder die Gruppe die du willst ) die Berechtigung "Kann nur eigene Themen sehen?" aktiviert ist und "Kann Themen sehen" deaktiviert ist

Eigentlich sollte es das schon gewesen sein, bin mir aber gerade nicht sicher ob sich das gegenseitig ausschaltet... 

Es "kann" sein, wenn "Kann Themen sehen" deaktiviert ist, man keine Themen mehr sieht, auch die eigenen, aber das musst du testen ( bin leider gerade nicht im stande dies zu testen )

Edit: Oh, gerade festgestellt das du innerhalb eines Beitrags dies meinst.. Dann vergiss mein Teil oben


RE: Text vor anderen verstecken - Purzel - 04.12.2015

Hallo Devidra und danke für die schnelle Antwort. Aber wir du schon richtig bemerkt hast, geht es mir tatsächlich "nur" (wobei das die Sache wohl eher komplizierter macht) um Teile eines Beitrags.
Die Lösung mit den Berechtigungen ging mir auch schon durch den Kopf und wäre dann wohl auch die Notlösung, aber dann müsste man strikt zwischen öffentlichen und geheimen Informationen trennen und viele Beiträge quasi doppelt erstellen.


RE: Text vor anderen verstecken - Devidra - 04.12.2015

Bin mir gerade leider nicht im klaren ob dieses Plugin "YourCode" funktionieren wird, ebenfalls sagte der Entwickler das er durch Zeitprobleme nicht so schnell auf 1.8 updaten kann

Wie gesagt, es "könnte" funktionieren im sinne von "das Plugin" selber und die Methode die "du" suchst

Zitat:YourCode kann individuelle Gruppen Berechtigungen, zum benutzen und sehen, seperat einstellen

Falls es nicht mit 1.8 funktioniert müsste man mal schauen ob einer die Zeit/Lust hat, ebenfalls die Erlaubnis kriegt, dieses auf 1.8 zu updaten


RE: Text vor anderen verstecken - melancholia - 04.12.2015

Ich kenne noch dieses Plugin, das mit dem Anpassen der Kompatibilität auch in einem 1.8-Forum funktioniert. Allerdings kann man da standardmässig nur ganzen Gruppen verbieten, den Inhalt innerhalb eines frei erfundenen Tags, zu sehen. Aber vielleicht lässt sich das anpassen, sodass es allen, ausser eben den Teammitglieder und dem Autor selbst verboten wird.


RE: Text vor anderen verstecken - Purzel - 08.12.2015

So, ich habe mir jetzt mal ein paar Plugins angeschaut und scheinbar sollte es der einfachste Weg sein, einen MyCode "[secret]...[/secret]" (oder ähnliches) zu definieren und jeweils einen Hook für "parse_message_start" und "parse_quoted_message" zu setzten.
Wenn in den beiden Hooks die Message geparsed wird, lässt sich der zu versteckende Teil dann leicht mittels preg_replace herausfiltern.
Über $mybb->user['uid'] bekomme ich auch die ID des Users heraus, welche der Post gerade angezeigt wird (oder ob es sich um einen Gast handelt).
Meine Frage ist nun, wie finde ich an diese Stelle heraus, von welchem User (uid) dieser Post bzw. der Thread, zu dem der Post gehört, erstellt wurde?

Schöne Grüße
vom Purzelkater


RE: Text vor anderen verstecken - Purzel - 08.12.2015

Hab leider nichts gesehen, womit ich meinen Beitrag editieren könnte, daher halt eine neue Nachricht.

Ich habe die oben genannte Idee noch ein wenig angepasst, indem man im [secret]-Tag noch die ID des Users mitgeben kann, der den Text sehen darf (z.Bsp. [secret=5]). Der Ablauf sollte dann wie folgt sein:
* Gäste sehen keine als geheim markierten Texte.
* In den Plugin-Einstellungen kann man Gruppen festlegen, welche geheime Texte immer sehen können, egal für wen sie sind (z.Bsp. Admins).
* User, die einen Post bearbeiten können, sehen beim Bearbeiten immer den Originaltext.
* User, die nicht zu einer im Plugin eingestellten Gruppe gehören (siehe oben), sehen den Originaltext nur, wenn ihre ID der im Tag eingegeben ID entspricht, sonst sehen nur einen Hinweistext.
* Das funktioniert auch beim Antworten/Zitieren.

Der Vorteil ist, dass man dadurch auch geheime Nachrichten an andere User in seinen Text einbauen kann. Z.Bsp. kann ein Spielleiter in seinen Posts damit auch in seine Posts Dinge schreiben, die nur bestimmte User lesen können sollen.

Im Grundprinzip funktioniert das Plugin schon. Mein Problem ist nun, dass ich nach einer möglichst effizienten Möglichkeit suche, die UserID mit der ID im secret-Tag zu matchen, um den Text zu ersetzen. Ich muss zugeben, dass reguläre Ausrücke nicht zu meinen Stärken gehören. ^^
Falls jemand dazu eine Idee hat, würde mich das sehr freuen. Smile

Schöne Grüße
vom Purzelkater


RE: Text vor anderen verstecken - MrBrechreiz - 08.12.2015

Das Copyright vom ProPortal scheint wohl auch schon im secret Bereich zu liegen, oder ?


RE: Text vor anderen verstecken - Purzel - 08.12.2015

(08.12.2015, 20:36)MrBrechreiz schrieb: Das Copyright vom ProPortal scheint wohl auch schon im secret Bereich zu liegen, oder ?
Nein, aber ich bin grad noch am Umbauen. Das Copyright vom ProPortal steht jetzt im allgemeinen Footer, wo auch der Hinweis aufs MyBB und das Theme stehen. Ich hoffe, die etwas zentralere Position ist okay?


RE: Text vor anderen verstecken - Purzel - 09.12.2015

So, ich denke, ich habe jetzt eine erste funktionierende Version des Plugins hinbekommen. Da ich diese noch nicht groß testen konnte und noch keine Doku, etc. vorhanden ist, habe ich das Plugin erstmal noch nicht in den Download-Bereich gestellt.
Was mir jetzt noch fehlt, wäre eine Möglichkeit, automatisch einen passenden Button in den Editor einfügen zu lassen, wenn das Plugin installiert wird. Dieser sollte dann folgenden Text in das Editor-Fenster einfügen:
[secret={$mybb->user['uid']}]$1[/secret]

Also z.Bsp.:
[secret=3]Das darf nur ich sehen![/secret]

Ich habe zwar die Anleitung zum manuellen Einfügen eines Buttons gefunden, aber geht das nicht auch automatisch? Und wie kann ich beim Einfügen die UserID des aktuellen Schreibers einfügen lassen?

Schöne Grüße
vom Purzelkater

PS: War mir nicht sicher, ob es in diesem Bereich so gern gesehen ist, halbfertige Plugins als Anhang zur Verfügung zu stellen, daher habe ich darauf verzichtet.