Bestimmter BBCode nur für bestimmte User nutzbar

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
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.
brummel
Mitglied
Beiträge: 222
Registriert: 12.06.2005 20:16

Bestimmter BBCode nur für bestimmte User nutzbar

Beitrag von brummel »

Ich kann mich dunkel erinnern (hab nur nix gefunden), das es für phpBB2 einen Hack gab, dass nur bestimmte User einen bestimmten BBCode nutzen können.

Ich habe einen BBCode definiert (BBCodeBox3), den zwar nur ein eingeschränkter Kreis kennt, aber durch Zitieren ist er ja für andere erlernbar. Hat jemand einen Tipp, wie ich bei "Fremdnutzern" eine einfache Ersetzung vornehmen kann? (Im konkreten Fall wäre eine Ersetzung durch quote OK)
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

brummel
Mitglied
Beiträge: 222
Registriert: 12.06.2005 20:16

Beitrag von brummel »

4seven hat geschrieben:- Vereinfachtes Verbieten und Erlauben der BBCodes (Update 26.05.2008)
Das bringt leider jede Menge unschöne Meldungen (siehe unten) und wenn ich es richtig verstehe, klappt dann ja auch kein Zitieren, oder? Das war der Grund, warum ich statt striktem Verbot, gern ein Ersetzen möchte.

Aus

Code: Alles auswählen

[blub=ABC]def[/blub]
soll am besten

Code: Alles auswählen

[quote=ABC]def[/quote]
werden.

Hier noch die Meldungen, beim Versuch den Linktipp anzuwenden:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file /includes/message_parser.php on line 55: Invalid argument supplied for foreach()
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3526: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2956)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3528: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2956)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3529: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2956)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3530: Cannot modify header information - headers already sent by (output started at /includes/functions.php:2956)
brummel
Mitglied
Beiträge: 222
Registriert: 12.06.2005 20:16

Beitrag von brummel »

OK, die Fehlermeldungen kommen jetzt nicht mehr.

Aber wie befürchtet, schlägt das Verbot dann auch beim Zitieren zu.
Das soll es aber nicht, da das rauseditieren des verbotenen Codes nicht zumutbar ist.

Wie im vorherigen Beitrag beschrieben, ein einfaches Ersetzen würde reichen. Moderatoren sollen den Code verwenden können, wenn der Code in Beiträgen von normalen Usern vorkommt, soll er ersetzt werden.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

thema fehlermeldungen > Einbaufehler (evtl. auch falschen editor genommen)

ok, da lief wohl was falsch bei dir oder du hast den sinn dieses plugins nicht verstanden. es verhindert, das bestimmte gruppen bestimmte bbcodes benutzen können. das wars. es ist ja wohl nur logisch, das, wenn ich bestimmte bbcodes nicht benutzen darf, ich es auch beim zitieren nicht darf, sonst wäre es ja easy zu umgehen.
brummel hat geschrieben:Wie im vorherigen Beitrag beschrieben, ein einfaches Ersetzen würde reichen. Moderatoren sollen den Code verwenden können, wenn der Code in Beiträgen von normalen Usern vorkommt, soll er ersetzt werden.
Die Betonung liegt auf einfach *g. Das wäre ein "kleiner" Mod, da speziell. Wer sich da ran machen möchte, immer zu :wink:
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

brummel hat geschrieben:Aber wie befürchtet, schlägt das Verbot dann auch beim Zitieren zu.
Das soll es aber nicht, da das rauseditieren des verbotenen Codes nicht zumutbar ist.
Das Verbot schlägt jetzt beim Zitieren nicht mehr zu, sondern nur beim Eröffnen eines Threads und dem normalen Antworten. Lediglich der Klick auf den Zitierknopf erlaubt das Darstellen (Benutzen) des Codes. Es nützt also auch nichts
von Hand einzutragen.

Demo
http://sekuro.se.funpic.de/phpbb3/viewt ... 1&f=6&t=83

Bei Interesse stell ichs ein.
brummel
Mitglied
Beiträge: 222
Registriert: 12.06.2005 20:16

Beitrag von brummel »

4seven hat geschrieben:Bei Interesse stell ichs ein.
Ja, da besteht Interesse :grin:
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

.........
Zuletzt geändert von 4seven am 27.07.2008 04:13, insgesamt 1-mal geändert.
brummel
Mitglied
Beiträge: 222
Registriert: 12.06.2005 20:16

Beitrag von brummel »

1000 Dank!
Funktioniert prima!
brummel
Mitglied
Beiträge: 222
Registriert: 12.06.2005 20:16

Beitrag von brummel »

4seven hat geschrieben:.........
Oh, jetzt hast Du es entfernt :(

Da ich jetzt dieses Problem auf den damals hier diskutierten Code zurückführen konnte, wollte ich mal schauen, ob durch das Auto-Update auf Version 3.0.2 evtl. was verrutscht ist.

In der includes/message_parser.php wurde vor diese Zeilen

Code: Alles auswählen

		// Parse smilies
		if ($allow_smilies)
		{
			$this->smilies($config['max_' . $mode . '_smilies']);
		}
das hier eingefügt:

Code: Alles auswählen

// Only real Quote allow forbidden BBCodes by 4seven/2008
$post_id   = request_var('p', 0);
$topic_id   = request_var('t', 0);
$forum_id   = request_var('f', 0);
$draft_id   = request_var('d', 0);
$lastclick   = request_var('lastclick', 0);

$submit      = (isset($_POST['post'])) ? true : false;
$preview   = (isset($_POST['preview'])) ? true : false;
$save      = (isset($_POST['save'])) ? true : false;
$load      = (isset($_POST['load'])) ? true : false;
$delete      = (isset($_POST['delete'])) ? true : false;
$cancel      = (isset($_POST['cancel']) && !isset($_POST['save'])) ? true : false;

$refresh   = (isset($_POST['add_file']) || isset($_POST['delete_file']) || isset($_POST['cancel_unglobalise']) || $save || $load) ? true : false;
$mode      = ($delete && !$preview && !$refresh && $submit) ? 'delete' : request_var('mode', '');

$error = $post_data = array();
$current_time = time();
   
switch ($mode)
{
   case 'quote':
      if (!$post_id)
      {
         $user->setup('posting');
         trigger_error('NO_POST');
      }

      $sql = 'SELECT f.*, t.*, p.*, u.username, u.username_clean, u.user_sig, u.user_sig_bbcode_uid, u.user_sig_bbcode_bitfield
         FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . ' f, ' . USERS_TABLE . " u
         WHERE p.post_id = $post_id
            AND t.topic_id = p.topic_id
            AND u.user_id = p.poster_id
            AND (f.forum_id = t.forum_id
               OR f.forum_id = $forum_id)";
   break;
}
// Only real Quote allow forbidden BBCodes by 4seven/2008

// Group-Request by Dr. Death
// Standardgruppen: 1 Gäste, 2 Registrierte,
// 4 Globale Moderatoren, 5 Administratoren.
// Tragt einfach die Gruppen IDs ein, entweder
// Einzelne: array(7) oder Mehrere: array(7,10,12)
$gruppen_id = array(2359,2360);
$benutzer_id = $user->data['user_id'];
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true);
if ((!$is_in_group == true) && ($mode !== 'quote')){
//if (!$is_in_group == true){
// Group-Request by Dr. Death
// ---------------------------------------
// Forbid/Allow Custom BBCodes by 4seven/2008
// Erlaubt eingetragene BBCodes nur für bestimmte Gruppen.
// Die für die oben angegebene IDs freigegebenen BBCodes
// sind mit Komma zu trennen z.B. ('youtube, clipfish').
$disallow = array('mod=');
foreach ($disallow as $bool);
$this->bbcodes[$bool]['disabled'] = true;
}
// Forbid/Allow Custom BBCodes by 4seven/2008
Irgend eine Idee, warum da jetzt beim Zitieren die Smilie-Begrenzung nicht mehr zuschlägt?
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“