[ABD] Custom BBCode Rights Lite - v.0.0.1

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

[ABD] Custom BBCode Rights Lite - v.0.0.1

Beitrag von 4seven »

Custom BBCode Rights Lite

ACHTUNG: Diese MOD wir nicht mehr supportet und sollte nicht mehr genutzt werden. Die Version wird zu gegebener Zeit noch einmal etwas modifiziert veröffentlicht.

MOD-Title: Custom BBCode Rights Lite
MOD-Version: 0.0.1
MOD-Autor: 4seven

Request: http://www.phpbb.de/community/viewtopic ... 62&start=0
Request by: susi24

MOD-Beschreibung: Dieser Mod ermöglicht auf einfache Weise das Verbieten der Benutzung von BBCodes

phpBB-Version: phpBB 3.0.x
phpBB-Sprachen: alle Sprachen
phpBB-Styles: alle Styles

Anmerkung:: Da sich viele User eine Lite-Version der alten Custom BBCode Rights wünschten, hier eine schlanke, stark vereinfachte Variante. Daher wird auch keine MODX folgen. Der Mod wird aber gerne noch um kleine Features erweitert, wenn es passt oder nötig sein sollte.

Anleitung:

Beispiel für den BBCode: [center]

1. Ausblenden des Buttons:

ACP > Beiträge > BBCodes > center > [ externes Bild ] > Einstellungen > Beim Verfassen eines Beitrags anzeigen [ ] > Absenden

------------------------------------------

2. - Für prosilver

Öffne

styles/prosilver/templates/posting_buttons.html

Finde

Code: Alles auswählen

	<!-- BEGIN custom_tags -->
		<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
	<!-- END custom_tags -->
Dahinter füge ein
<!-- IF not S_NO_BBCODE_BUTTON -->
<input type="button" class="button2" name="center" value="center" onclick="bbfontstyle('[center]','[/center]');this.form.addbbcode9999;" title="center" />
<!-- ENDIF -->
Fettmarkiertes anpassen:
Für jeden weiteren BBCode von 9999 herunterzählen.
Jede "addbbcode-id" muss unique sein.

An der Stelle die BBCodes wie im ACP stehend eintragen:
('[center]','[/center]')
Custom BBCodes mit Gleichheitszeichen bitte ausschreiben ( zb. [align=]','[/align])
Im folgenden Beispiel wird die Variable right noch mit reingeschrieben für Textausrichtung rechts:
('[align=right]','[/align]')
------

2. - Für subsilver2

Öffne

styles/subsilver2/templates/posting_buttons.html

Finde

Code: Alles auswählen

	<!-- BEGIN custom_tags -->
			<input type="button" class="btnbbcode" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')"<!-- ENDIF --> />
		<!-- END custom_tags -->
Dahinter füge ein
<!-- IF not S_NO_BBCODE_BUTTON -->
<input type="button" class="btnbbcode" name="center" value="center" onclick="bbfontstyle('[center]','[/center]');this.form.addbbcode9999;" title="center" />
<!-- ENDIF -->

Fettmarkiertes anpassen:
Für jeden weiteren BBCode von 9999 herunterzählen.
Jede "addbbcode-id" muss unique sein.

An der Stelle die BBCodes wie im ACP stehend eintragen:
('[center]','[/center]')
Custom BBCodes mit Gleichheitszeichen bitte ausschreiben ( zb. [align=]','[/align])
Im folgenden Beispiel wird die Variable right noch mit reingeschrieben für Textausrichtung rechts:
('[align=right]','[/align]')
-------------------------------

3.

Öffne

includes/message_parser.php

Finde

Code: Alles auswählen

        // Parse smilies
        if ($allow_smilies)
        {
            $this->smilies($config['max_' . $mode . '_smilies']);
        }       
Davor füge ein

Code: Alles auswählen

// Custom BBCode Rights Lite / 4seven / 2009
// Credits to Dr.Death for group_membership snippet
global $phpbb_root_path, $phpEx, $template;
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// ------------------------
$group_id = array(5,7);
// -----------------------
$users_id = $user->data['user_id'];
$group_in = group_memberships($group_id, $users_id , true);
if ($group_in !== true){
// ------------------------------------
$forbid = array('center', 'youtube');
// -------------------------------------
foreach ($forbid as $not_allowed){
$this->bbcodes[$not_allowed]['disabled'] = true;}
$template->assign_vars(array('S_NO_BBCODE_BUTTON' => true));}
// Credits to Dr.Death for group_membership snippet
// Custom BBCode Rights Lite / 4seven / 2009                                         

- Gruppen-IDs eintragen, die den BBCode benutzen dürfen (Admins /Mods):

Code: Alles auswählen

$group_id = array(5,7);       
- Relevante BBCodes eintragen:
Hardcoded BBCodes mit Gleichheitszeichen ohne selbiges schreiben ( also statt color= bitte color schreiben )
Custom BBCodes mit Gleichheitszeichen bitte ausschreiben ( zb. align= )

Code: Alles auswählen

$forbid = array('center', 'youtube');       
- Alle Board und Browser-Caches leeren

- Enjoy
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von 4seven »

Anleitung 2

Damit der User die restriktierten BBCodes nicht aus einem Quote oder Reply 'rauspopeln' muss,
hier noch eine Zusatzfunktion, welche die BBCodes automatisch aus dem Quote oder Reply extrahiert.

Hierbei bekommt der User noch eine Meldung im Postfenster,
falls er restrikiert ist und das Quote oder Reply die für ihn restriktierten BBCodes enthält.

Öffne

language/de/common.php

Finde

Code: Alles auswählen

$lang = array_merge($lang, array(  
Dahinter füge ein

Code: Alles auswählen

    'BBCODE_EXTRACTED' => 'Mindestens einer der folgenden BBCodes wurden aus diesem Posting extrahiert: ',  
Öffne

posting.php

Finde

Code: Alles auswählen

$post_data['post_text'] = $message_parser->message;  
Ersetze mit

Code: Alles auswählen

// Custom BBCode Rights Lite / 4seven / 2009
// Credits to Dr.Death for group_membership snippet
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// ----------------------
$group_id = array(5,7);
// ----------------------
$users_id = $user->data['user_id'];
$group_in = group_memberships($group_id, $users_id , true);
if ($group_in !== true){
if ($mode == 'quote' or $mode == 'reply'){
// -----------------------------------
$forbid = array('center', 'youtube');
// -----------------------------------
foreach ($forbid as $forbid_bb){
if (preg_match("/\[$forbid_bb\b(.*?)\](.*?)\[\/$forbid_bb\b(.*?)\]/s", $message_parser->message)){
$forbid_show = implode(",", $forbid);
$error[] = $user->lang['BBCODE_EXTRACTED'] . " $forbid_show";}
$search_bb[]   = "/\[$forbid_bb\b(.*?)\](.*?)\[\/$forbid_bb\b(.*?)\]/s";
$replac_bb[]   = '';
$custom_lite   = preg_replace($search_bb, $replac_bb, $message_parser->message);
$post_data['post_text']   = $custom_lite;}}
else{$post_data['post_text'] = $message_parser->message;}}
else{$post_data['post_text'] = $message_parser->message;}
// Credits to Dr.Death for group_membership snippet
// Custom BBCode Rights Lite / 4seven / 2009           

- Gruppen-IDs eintragen, die den BBCode benutzen dürfen (Admins /Mods):

Code: Alles auswählen

    $group_id = array(5,7);       
- Relevante BBCodes eintragen:
Hardcoded BBCodes mit Gleichheitszeichen ohne selbiges schreiben ( also statt color= bitte color schreiben )
Custom BBCodes mit Gleichheitszeichen bitte ausschreiben ( zb. align=
)

Code: Alles auswählen

    $forbid = array('center', 'youtube');     
- Alle Board und Browser-Caches leeren

- Enjoy
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von 4seven »

Hinweis

Falls Interesse besteht, schreibe ich noch ein kleines ACP-Modul dazu.
Die Code-Stellen wären hierbei identisch. Ferner müsste das ACP-Modul installiert werden.

Doch erstmal kümmere ich mich um die Fertigstellung des [DEV] Attach Watermark 0.1.2
Huchinotte
Mitglied
Beiträge: 765
Registriert: 24.10.2007 09:34

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von Huchinotte »

4seven hat geschrieben:Hinweis

Falls Interesse besteht, schreibe ich noch ein kleines ACP-Modul dazu.
Die Code-Stellen wären hierbei identisch. Ferner müsste das ACP-Modul installiert werden.
Hi 4seven ...........

ein ACP Modul wäre super wenn du das dann realisieren könntest!

Gruß Huch
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von 4seven »

Eingangspost hat geschrieben:
<!-- IF not S_NO_BBCODE_BUTTON -->
<input type="button" class="button2" name="center" value="center" onclick="bbfontstyle('[center]','[/center]');this.form.addbbcode9999;" title="center" />
<!-- ENDIF -->
Fettmarkiertes anpassen:
Für jeden weiteren BBCode von 9999 herunterzählen.
Jede "addbbcode-id" muss unique sein.
BBCodes mit Gleichheitszeichen ohne selbiges schreiben
Hinweis zur ersten Anleitung oben, betreffend die posting_buttons.html:
('[center]','[/center]')
An der Stelle die BBCodes natürlich wie im ACP stehend eintragen:

In dem Beispiel wird die Variable right noch mit reingeschrieben für Textausrichtung rechts :wink:
('[align=right]','[/align]')
Benutzeravatar
susi24
Mitglied
Beiträge: 547
Registriert: 11.10.2006 15:54
Wohnort: zu Hause
Kontaktdaten:

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von susi24 »

Seven ich bin wirklich begeistert. :grin: Habs mir soeben eingebaut und getestet. Klappt super!!! Bei den Modis und Admins sowieso. Allerdings siehts im IE7 total verrückt aus. (hab mich schnell wieder ausgeloggt) bevor ich augenkrebs krieg :lol: aber dafür kannst du ja nix.

Auf den Attach watermark freu ich mich auch schon irre. Hab da auch "nur" einen einfachen BBcode der ja aber nicht für hochgeladene Bilder im Forum gilt. Von daher bin ich schon sehr gespannt, warte aber bis es ganz fertig ist. :grin:

1000...X Dank Seven für deine ganze Arbeit und Hilfe.

ps: du hast den abschnitt wieder doppelt gepostet ganz oben:
4seven hat geschrieben:name="center"
:P
Huchinotte hat geschrieben:ein ACP Modul wäre super wenn du das dann realisieren könntest!
Dito :grin: *ganz lieb guck* :grin:

Kleiner Anhang: hab das extraktding jetzt auch noch rein gemacht. Könnte bzw. wäre es nicht evt. besser normale User 'verbotene' bbcodes gar nicht erst sehen zu lassen? So kommen sie gar nicht erst auf die Idee etwas zu klicken (was gar nicht da ist) bzw. nicht für sie bestimmt ist. :lol:
{LG_Susi}
<!-- IF S_USER_CLICK_HERE -->Mamas-Racker.de Mamaforum<!-- ENDIF -->
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von nickvergessen »

Anstelle von

Code: Alles auswählen

$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
verwende doch bitte

Code: Alles auswählen

global $phpbb_root_path, $phpEx;
kein Support per PN
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von 4seven »

@ nickv

danke. kannst du das (oder ein anderer mod) mal gleich im eingangspost korrigieren

- dann bitte auch das:
ps: du hast den abschnitt wieder doppelt gepostet ganz oben:
4seven hat geschrieben:name="center"
@susi24
Allerdings siehts im IE7 total verrückt aus.
danke für die positive kritik. kannst du mal einen screenshot davon hierher verlinken.
Kleiner Anhang: hab das extraktding jetzt auch noch rein gemacht. Könnte bzw. wäre es nicht evt. besser normale User 'verbotene' bbcodes gar nicht erst sehen zu lassen? So kommen sie gar nicht erst auf die Idee etwas zu klicken (was gar nicht da ist) bzw. nicht für sie bestimmt ist.
genau das und mehr macht der 4S-BB-Control

wenn ich das hier jetzt auch noch einbaue, hätte ich zu 2/3 die grundidee dieses mods kopiert.
nämlich die kombination von restriktion und unsichtbarkeit.

das mit dem acp geht in ordnung kann aber noch etwas dauern.
Benutzeravatar
susi24
Mitglied
Beiträge: 547
Registriert: 11.10.2006 15:54
Wohnort: zu Hause
Kontaktdaten:

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von susi24 »

Aso, ne dann ist ok. Soll ja auch nich so groß werden. Wäre dann ja auch überflüssig, wenns dem andern mod zu gleich wird.
hier noch das bild: verrückt, zusammen gequetscht
Im diddl style siehts noch blöder aus. im FF passt es bei mir noch in die 2te Reihe, daher kann ich nich sagen wie es da aussehen würde, wenns in die 3te Zeile rückt. (der rahmen ist aber mein problem. hab ich wohl zu dick gemacht) :)
{LG_Susi}
<!-- IF S_USER_CLICK_HERE -->Mamas-Racker.de Mamaforum<!-- ENDIF -->
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: [DEV] Custom BBCode Rights Lite - v.0.0.1

Beitrag von 4seven »

betrachte dazu mal das im ie7 o. 8:

http://sekuro.se.funpic.de/phpbb/postin ... e=post&f=4

da hab ich mit einem trick gearbeitet. wenn es bei dir auch ok ist, poste ichs mal...
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“