Function.submit post

submit_post –– Posts a topic or post to the forum with the information supplied

Description
To post a new message to the forums use the submit_post function. It handles all necessary changes. On success it returns the URL of the post, otherwise it returns false.
 * 1) mixed submit_post ( $mode,  $subject,  $username,  $topic_type,  &$poll,  &$data, [ $update_message = true])

Data Array
// New Topic Example $data = array( 	// General Posting Settings	'forum_id'			=> 2,	// The forum ID in which the post will be placed. (int)	'topic_id'			=> 0,	// Post a new topic or in an existing one? Set to 0 to create a new one, if not, specify your topic ID here instead.	'icon_id'			=> false,	// The Icon ID in which the post will be displayed with on the viewforum, set to false for icon_id. (int)

// Defining Post Options 'enable_bbcode'	=> true,	// Enable BBcode in this post. (bool) 'enable_smilies'	=> true,	// Enabe smilies in this post. (bool) 'enable_urls'		=> true,	// Enable self-parsing URL links in this post. (bool) 'enable_sig'		=> true,	// Enable the signature of the poster to be displayed in the post. (bool)

// Message Body 'message'			=> $message,		// Your text you wish to have submitted. It should pass through generate_text_for_storage before this. (string) 'message_md5'	=> md5($message),// The md5 hash of your message

// Values from generate_text_for_storage 'bbcode_bitfield'	=> $bitfield,	// Value created from the generate_text_for_storage function. 'bbcode_uid'		=> $uid,		// Value created from the generate_text_for_storage function.

// Other Options 'post_edit_locked'	=> 0,		// Disallow post editing? 1 = Yes, 0 = No 'topic_title'		=> $subject,	// Subject/Title of the topic. (string)

// Email Notification Settings 'notify_set'		=> false,		// (bool) 'notify'			=> false,		// (bool) 'post_time' 		=> 0,		// Set a specific time, use 0 to let submit_post take care of getting the proper time (int) 'forum_name'		=> '',		// For identifying the name of the forum in a notification email. (string)

// Indexing 'enable_indexing'	=> true,		// Allow indexing the post? (bool)

// 3.0.6	'force_approved_state'	=> true, // Allow the post to be submitted without going into unapproved queue

// 3.1-dev, overwrites force_approve_state 'force_visibility'			=> true, // Allow the post to be submitted without going into unapproved queue, or make it be deleted );

This array is where all the data regarding the post content itself gets passed. There is no way to change the author of the post via this array. You may access your new post id with the following after the submit_post function has run:

$data['post_id']

Function.submit_post