Seite 1 von 1

submit_post

Verfasst: 04.12.2009 21:00
von Hyperion
Hallo zusammen :)

Ich habe ein Problem mit der API Funktion submit_post. Und zwar will ich formatierten Text, also Farbe grösse etc..., speichern.

ein kleines Beispiel:

Code: Alles auswählen

define('IN_PHPBB',true);
	$phpEx = substr(strrchr(__FILE__,'.'),1);
	
	include($phpbb_root_path . 'common.' . $phpEx);
	include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
	
	$message = utf8_normalize_nfc(request_var('post_message','Default Post',true));
	$subject = utf8_normalize_nfc(request_var('post_subject','Default Subject',true));
	
	$post_name = utf8_normalize_nfc(request_var('post_name','Default Name',true));
	
	$poll = $uid = $bitfield = $options = '';
	
	generate_text_for_storage($message,$uid,$bitfield,$options,true,true,true);
	generate_text_for_storage($subject,$uid,$bitfield,$options,false,false,false);
	
	$data = array(
		'forum_id'			=>	$post_forumid,
		'icon_id'			=>	false,
	
		'enable_bbcode'		=> 	true,
		'enable_smilies'	=> 	true,
		'enable_urls'		=> 	true,
		'enable_sig'		=> 	true,
	
		'message'			=>	$message,
		'message_md5'		=>	md5($message),
	
		'bbcode_bitfield'	=>	$bitfield,
		'bbcode_uid'		=>	$uid,
    'bbcode_options'    => $options,
	
		'post_edit_locked'	=>	0,
		'topic_title'		=>	$subject,
		'notify_set'		=>	false,
		'notify'			=>	false,
		'post_time'			=>	0,
		'forum_name'		=>	'',
		'enable_indexing'	=>	true,
	);
	
	
	$user->session_begin();
	$auth->acl($user->data);
	$user->setup();
	$auth->login($post_username,$post_userpw);
	
	$post_url = submit_post('post',$subject,$post_name,POST_NORMAL,$poll,$data);	



Aber im Post kommt dann der BBCode ausgeschrieben und wird nicht formatiert :(

Hat einer einen Typ was ich falsch mache?

Re: submit_post

Verfasst: 05.12.2009 09:39
von Dr.Death
Hallo,

das ist richtig.
Wenn du die Funktion "submit_post()" verwendest wird der "ausgeschriebene" BBCode in die Datenbank geschrieben.

Du musst beim "auslesen" des Posts dann die BBCodes wieder umwandeln. ( Funktion: generate_text_for_display() )

http://wiki.phpbb.com/Parsing_text#Disp ... ed_from_DB

Re: submit_post

Verfasst: 05.12.2009 22:23
von Hyperion
Hi,

aber das bringt mir ja nix o.O


Zum Umfeld:

- Ich habe eine Java Software, die ein php Script (das obige) aufruft und einen Post im Forum erstellt


danach soll der Post ja im Forum ersichtlich sein, und zwar mit den BBCode nicht als Klartext sondern ausgeführt.



Oder meinst Du ich muss das generate_text_for_display() anwenden bevor ich die message an submit_post() übergebe?


Danke schonmal!

Re: submit_post

Verfasst: 05.12.2009 22:49
von tas2580

Code: Alles auswählen

generate_text_for_storage($subject,$uid,$bitfield,$options,false,false,false);
Lass das mal weg oder willst du BBCodes auch im Beitragstitel verwenden?
So werden auf jeden Fall falsche Werte für $uid, $bitfield und $options in der DB gespeichert.

Gruß Tobi

Re: submit_post

Verfasst: 06.12.2009 09:15
von Hyperion
DANKE!!!!!

Das wars genau :-)