BBCode -- Text nur für bestimmte Gruppe sichtbar
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
BBCode -- Text nur für bestimmte Gruppe sichtbar
Hallo,
ich suche eine Möglichkeit, in einem Posting bestimmte Textstellen nur für eine bestimmte Gruppe sichtbar zu machen. Am besten wäre ein BBCode, aber ich habe es noch nicht hin bekommen.
Für Templates ist es kein Problem, das geht das Snippet Gruppenzugehörigkeiten eines Benutzers prüfen, das funktioniert aber nicht innerhalb vom Postingtext (<!-- IF S_IN_GROUP --> ...) als BBCode. Hat von euch jemand eine Lösung wie ich das umsetzen könnte?
Es geht hier nicht darum dass der BBCode nur von bestimmten Gruupen benutzt werden kann, das habe ich schon umgesetzt.
Gruß Helmut
ich suche eine Möglichkeit, in einem Posting bestimmte Textstellen nur für eine bestimmte Gruppe sichtbar zu machen. Am besten wäre ein BBCode, aber ich habe es noch nicht hin bekommen.
Für Templates ist es kein Problem, das geht das Snippet Gruppenzugehörigkeiten eines Benutzers prüfen, das funktioniert aber nicht innerhalb vom Postingtext (<!-- IF S_IN_GROUP --> ...) als BBCode. Hat von euch jemand eine Lösung wie ich das umsetzen könnte?
Es geht hier nicht darum dass der BBCode nur von bestimmten Gruupen benutzt werden kann, das habe ich schon umgesetzt.
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Von hier an lesen: https://www.phpbb.com/community/viewtop ... #p12861373
und
Es müssen alle aktiven Sprachen editiert werden..
und
[b]S_IN_GROUP[/b]
in die relevante Lang Datei einfriemeln 
Es müssen alle aktiven Sprachen editiert werden..
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Hallo BNa,
danke dir für die Antwort, aber irgendwie klappt das nicht dass die Anweisung ausgeführt wird.
Ich habe in der entsprechenden lang Datei folgendes eingefügt:
Als BBCode:
und als Ersetzung
Im Quelltext taucht es dann als
Ich habe dann den Code
Gruß Helmut
danke dir für die Antwort, aber irgendwie klappt das nicht dass die Anweisung ausgeführt wird.
Ich habe in der entsprechenden lang Datei folgendes eingefügt:
Code: Alles auswählen
'BOARD_GROUP_BEGIN' => '<!-- IF S_IN_GROUP -->',
'BOARD_GROUP_END' => '<!-- ENDIF -->',
Code: Alles auswählen
[IN_GROUP]{TEXT}[/IN_GROUP]
Code: Alles auswählen
<span>{L_BOARD_GROUP_BEGIN}{TEXT}{L_BOARD_GROUP_END}</span>
<span><!-- IF S_IN_GROUP -->[...]<!-- ENDIF --></span>
entsprechend auf, wird daber nicht ausgeführt.Ich habe dann den Code
<!-- IF S_IN_GROUP -->[...]<!-- ENDIF -->
in der entsprechenden Template Datei direkt nach {postrow.MESSAGE}
gehängt, dann geht es. Mir scheint dass diese <!-- ... --> Anweisungen im Postingtext nicht entsprechend verarbeitet bzw. geparst werden. Das scheint, als ob die ganze Sache doch etwas aufwendiger ist.Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Nicht ganz richtiger Ansatz.
Lies nochmal
https://www.phpbb.com/community/viewtop ... #p12861373
Ansonsten Beispiel
Öffne
language/de/common.php
Finde
Davor füge ein
Nun kannst Du die Variable
Lies nochmal
https://www.phpbb.com/community/viewtop ... #p12861373
Ansonsten Beispiel
Öffne
language/de/common.php
Finde
Code: Alles auswählen
$lang = array_merge($lang, array(
Code: Alles auswählen
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
global $user;
// zu überprüfende Gruppen IDs ( Beispiel Gruppen ID 5, 10, 12, 15 )
// Hinweis: Bei mehreren Gruppen muss es ein array() sein!
$gruppen_id = array(5,10,12,15);
// zu überprüfender User ( Beispiel: Der User, der diese Seite aufgerufen hat )
$benutzer_id = $user->data['user_id'];
// Nun erfolgt die eigentliche Prüfung:
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true);
if ($is_in_group == true)
{
// Teile dem Template System mit, das die Variable "IN_GROUP" den Wert TRUE bekommt
$template->assign_var('IN_GROUP', true);
}
{L_IN_GROUP}
in BBcodes nutzenArea51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Hallo BNa,
auch mit deinem Beispiel geht es nicht, das Problem ist dass der Schalter
@all
Es muss doch eine Möglichkeit geben, einen funktionierenden BBCode zu erzeugen, bei dem die Gruppenberechtigung abgefragt wird und dann der Text zwischen dem BBCode nur der gewählten Gruppe angezeigt wird.
Gruß Helmut
auch mit deinem Beispiel geht es nicht, das Problem ist dass der Schalter
<!-- IF S_IN_GROUP -->
nicht geparst wird und somit unverändert in der ausgegebenen html Datei erscheint. Oder wie genau hast du das mit dem BBCode und der Ersetzung gemeint?@all
Es muss doch eine Möglichkeit geben, einen funktionierenden BBCode zu erzeugen, bei dem die Gruppenberechtigung abgefragt wird und dann der Text zwischen dem BBCode nur der gewählten Gruppe angezeigt wird.
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Gibt es ja auch. Bin an der Lösung dran. Ist zwar etwas komplexer aber es folgt genau dem Ansatz, den ich geliefert habe.
Und, wie ich schon schrieb:
Und, wie ich schon schrieb:
<!-- IF S_IN_GROUP -->
ist irrelevant, da es hier um php geht 
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
- HabNurNeFrage
- Ehemaliges Teammitglied
- Beiträge: 1627
- Registriert: 17.01.2010 20:22
- Wohnort: An der Ostsee
- Kontaktdaten:
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Hi,
Ansatz 1: viewtopic.php?f=74&t=227295
Ansatz 2: Bei uns im Forum habe ich spezielle bbCodes, deren Inhalts-Text nur Admins/Mods angezeigt wird.
Allen anderen wird ein Ersatztext eingeblendet:
http://bild4.bplaced.net/phpbb/viewtopi ... ch-f=4&t=3
Ansatz 2 könnte ggf. für einzelne Gruppen so aussehen:
Hierzu müssen dann vom Namen her zum PHP exakt passende bbCodes angelegt werden.
Hier im Beispiel wäre das
Das Beispiel stellt spezielle bbCodes für die Gruppen-IDs 1, 2 und 3 bereit.
Es kann den eigenen Wünschen entsprechend erweitert bzw. beschnitten werden.
LG
Ansatz 1: viewtopic.php?f=74&t=227295
Ansatz 2: Bei uns im Forum habe ich spezielle bbCodes, deren Inhalts-Text nur Admins/Mods angezeigt wird.
Allen anderen wird ein Ersatztext eingeblendet:
http://bild4.bplaced.net/phpbb/viewtopi ... ch-f=4&t=3
Ansatz 2 könnte ggf. für einzelne Gruppen so aussehen:
Code: Alles auswählen
if (!function_exists('group_memberships'))
{
include_once($phpbb_root_path . 'includes/functions_user.'.$phpEx);
}
if ((!$user->data['group_id'] == 1) || ($user->data['user_id'] == ANONYMOUS) || $user->data['is_bot'])
{
$text = preg_replace('/\[bbcode_group_1(.*?)\].*?\[\/bbcode_group_1(.*?)\]/si', "
<p>Nur Mitglieder der Gruppe 1 sehen Inhalte an dieser Stelle.</p>
", $text);
}
if ((!$user->data['group_id'] == 2) || ($user->data['user_id'] == ANONYMOUS) || $user->data['is_bot'])
{
$text = preg_replace('/\[bbcode_group_2(.*?)\].*?\[\/bbcode_group_2(.*?)\]/si', "
<p>Nur Mitglieder der Gruppe 1 sehen Inhalte an dieser Stelle.</p>
", $text);
}
if ((!$user->data['group_id'] == 3) || ($user->data['user_id'] == ANONYMOUS) || $user->data['is_bot'])
{
$text = preg_replace('/\[bbcode_group_3(.*?)\].*?\[\/bbcode_group_3(.*?)\]/si', "
<p>Nur Mitglieder der Gruppe 3 sehen Inhalte an dieser Stelle.</p>
", $text);
}
Hier im Beispiel wäre das
bbcode_group_1
(1 entspräche der Group ID und das Ganze ist die Bezeichnung der Nutzung des bbCodes)Das Beispiel stellt spezielle bbCodes für die Gruppen-IDs 1, 2 und 3 bereit.
Es kann den eigenen Wünschen entsprechend erweitert bzw. beschnitten werden.
LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Sieht bei mir ähnlich aus. Im Grunde nur diesem Mod folgen und etwas abwandeln:
viewtopic.php?f=88&t=194797#p1123772
Die rote Schrift kann ignoriert werden, da es nicht die Funktionalität betraf.
viewtopic.php?f=88&t=194797#p1123772
Die rote Schrift kann ignoriert werden, da es nicht die Funktionalität betraf.
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Hallo BNa und HabNurNeFrage,
danke euch für die Infos, damit habe ich es jetzt gelöst. Der Link auf Altersbeschränkungs Spoiler brachte die Lösung. In der Datei functions_content.php habe ich es so gelöst:
Finde in includes/functions_content:
danach füge ein:
finde:
davor füge ein:
in meinen eingebundenen Seiten kommt dann noch das hier dazu:
BBCode
Ersetzung
Was vielleicht noch interessant wäre, wenn man den alternativen Text wenn der User nicht in der Gruppe ist, auch im BBCode angeben könnte .....
Ich brauche das für die Themenseiten für meine neue Homepage. Die Themenseiten basieren auf dem KB Mod vom [BTK] Tobi, auf der Version 2.0.5, allerdings sehr angepasst.
Gruß Helmut
danke euch für die Infos, damit habe ich es jetzt gelöst. Der Link auf Altersbeschränkungs Spoiler brachte die Lösung. In der Datei functions_content.php habe ich es so gelöst:
Finde in includes/functions_content:
Code: Alles auswählen
static $censors
Code: Alles auswählen
global $user, $is_in_group;
Code: Alles auswählen
if (sizeof($censors))
Code: Alles auswählen
if ($is_in_group == false)
{
$text = preg_replace('/\[in_group(.*?)\].*?\[\/in_group(.*?)\]/si', "<span></span>", $text);
}
Code: Alles auswählen
include_once($phpbb_root_path . 'includes/functions_content.' . $phpEx);
// Die zu prüfenden Gruppen IDs müssen mit Komma getrennt eingetragen werden
$check_group = "7";
$is_in_group = get_group_auth($check_group);
// Wenn der User in dieser Gruppe ist, liefert die Funktion den Wert TRUE zurück.
if ($is_in_group == true)
{
// Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert TRUE bekommt
// In der html Datei kann mit <!-- IF S_IN_GROUP --> und <!-- ENDIF --> ein Bereich markiert werden.
$template->assign_var('S_IN_GROUP', true);
}
Code: Alles auswählen
[in_group]{TEXT}[/in_group]
Code: Alles auswählen
<span>{TEXT}</span>
Ich brauche das für die Themenseiten für meine neue Homepage. Die Themenseiten basieren auf dem KB Mod vom [BTK] Tobi, auf der Version 2.0.5, allerdings sehr angepasst.
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
- HabNurNeFrage
- Ehemaliges Teammitglied
- Beiträge: 1627
- Registriert: 17.01.2010 20:22
- Wohnort: An der Ostsee
- Kontaktdaten:
Re: BBCode -- Text nur für bestimmte Gruppe sichtbar
Hi,
meinst Du einen Text, den die Nutzer des bbCodes dann selbst angeben können sollen?
Das wird etwas schwierig...
Einen standard Ersatztext könntest Du im <span> Ersatztext </span> Deines preg_replace Patterns angeben.
Oder Du ersetzt für alle, die nicht in_group sind, das Replace-Pattern mit einem weiteren bbCode:
Nun noch eien bbCode
Eine dynamische Lösung habe ich nicht im Kopf.
LG
meinst Du einen Text, den die Nutzer des bbCodes dann selbst angeben können sollen?
Das wird etwas schwierig...
Einen standard Ersatztext könntest Du im <span> Ersatztext </span> Deines preg_replace Patterns angeben.
Oder Du ersetzt für alle, die nicht in_group sind, das Replace-Pattern mit einem weiteren bbCode:
Code: Alles auswählen
if (!$is_in_group)
{
$text = preg_replace('/\[in_group(.*?)\].*?\[\/in_group(.*?)\]/si', "[not_in_group][/not_in_group]", $text);
}
Nun noch eien bbCode
[not_in_group]Ersatztext[/not_in_group]
- In beiden Fällen ist der Ersatztext aber leider statisch.Eine dynamische Lösung habe ich nicht im Kopf.
LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };