bbcode_uid und bbcode_bitfield erstellen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
BrainsAFK
Mitglied
Beiträge: 72
Registriert: 24.11.2014 02:12
Kontaktdaten:

bbcode_uid und bbcode_bitfield erstellen

Beitrag von BrainsAFK »

Hallo,

ich arbeite gerade daran aus einer anderen Extension heraus ein Forenpost zu erstellen.
Soweit scheint dies zu funktionieren, allerdings zeigt er mir keine BBCode an bzw. Formatiert diese nicht. Aus der functions_posting.php werde ich nicht Schlau

Code: Alles auswählen

$news = sprintf($this->user->lang('CONVERSATION_FOREN_TEXT'), '[url='.$this->config['server_protocol'].$this->config['server_name'].$this->config['script_path'].'/index.php?mode=news&post_id='.$last_id.']'.$request->variable('subject', '').'[/url]',  '[quote]'.$request->variable('message', '').'[/quote]');
            $message = generate_text_for_display($news, '8lkjgjk', 'kA==', $parse_flags, true);

'bbcode_uid'        => '8lkjgjk',
                'bbcode_bitfield'        => 'kA==',
                'post_text'         =>$message,
                'post_checksum'     => md5($message), 
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: bbcode_uid und bbcode_bitfield erstellen

Beitrag von Elsensee »

Du brauchst die beiden Felder aus der Datenbank, die das Bitfield und die BBCode UID enthalten, sonst funktioniert das nicht. Man kann sich nicht einfach eines ausdenken.

Nutze die Funktion generate_text_for_storage(); folgendermaßen:

Code: Alles auswählen

generate_text_for_storage($text, $uid, $bitfield, $flags, $allow_bbcode, $allow_urls, $allow_smilies); 
$text enthält vor dem Aufruf den Text, den du parsen möchtest, und nach dem Aufruf, den geparsten Text.
$uid, $bitfield und $flags sollten leere Strings sein und enthalten nach dem Aufruf die UID, das Bitfield und die Flags, die du auch abspeichern solltest. (Dort werden die Einstellungen wie BBCode ausschalten, etc. gespeiechert ;) )
$allow_bbcode, $allow_urls und $allow_smilies sind entweder true oder false.

Die Funktion selbst gibt zurück, welche Fehler aufgetreten sind, falls es überhaupt welche gab.

Zum Anzeigen hast du generate_text_for_display();:

Code: Alles auswählen

generate_text_for_display($text, $uid, $bitfield, $flags, $censor_text); 
$text ist der anzuzeigende Text, der vorher ja geparst wurde.
$uid ist die gespeicherte BBCode-UID
$bitfield ist das gespeicherte Bitfield
$flags sind die gespeicherten Flags aka Post-Optionen.
$censor_text ist true oder false, je nachdem, ob die Wortzensur angewendet werden soll.

Zurückgegeben wird der text mit HTML und sowas. :)
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
BrainsAFK
Mitglied
Beiträge: 72
Registriert: 24.11.2014 02:12
Kontaktdaten:

Re: bbcode_uid und bbcode_bitfield erstellen

Beitrag von BrainsAFK »

HrHr su hast mein Leben verändert :lol:
Antworten

Zurück zu „Extension Bastelstube“