Seite 1 von 1

bbcode_uid und bbcode_bitfield erstellen

Verfasst: 18.03.2015 17:55
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), 

Re: bbcode_uid und bbcode_bitfield erstellen

Verfasst: 18.03.2015 18:08
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. :)

Re: bbcode_uid und bbcode_bitfield erstellen

Verfasst: 18.03.2015 18:46
von BrainsAFK
HrHr su hast mein Leben verändert :lol: