Das wäre der PHP-Code (mal aus einem meiner Scripte), um ein Topic zu erstellen:
Code: Alles auswählen
$insert_forum_id = 1; // Hier die Foren-ID angeben, in dem man das neue Thema erstellen will.
$allow_bbcodes = ($config['allow_bbcode']) ? true : false;
$allow_urls = true;
$allow_smilies = ($config['allow_smilies']) ? true : false;
$uid = $bitfield = '';
$flags = 0;
generate_text_for_storage($message, $uid, $bitfield, $flags, $allow_bbcodes, $allow_urls, $allow_smilies);
$mode = 'post';
$subject = $text; // Hier kann der Text für den Titel des Themas rein.
$username = $user->data['username'];
$topic_type = POST_NORMAL;
$poll = array();
$update_message = false;
$sql = 'SELECT * FROM ' . FORUMS_TABLE . '
WHERE forum_id = $insert_forum_id';
$result = $db->sql_query($sql);
$post_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$message = $body_of_post; // Der Inhalt des Beitrags
$data = array(
'topic_title' => $subject,
'topic_first_post_id' => 0,
'topic_last_post_id' => 0,
'topic_time_limit' => 0,
'topic_attachment' => 0,
'post_id' => 0,
'topic_id' => 0,
'forum_id' => 13,
'icon_id' => 0,
'poster_id' => $user->data['user_id'],
'enable_sig' => 0,
'enable_bbcode' => 0,
'enable_smilies' => 0,
'enable_urls' => 0,
'enable_indexing' => 0,
'message_md5' => md5($message),
'post_time' => time(),
'post_checksum' => '',
'post_edit_reason' => '',
'post_edit_user' => 0,
'forum_parents' => $post_data['forum_parents'],
'forum_name' => $post_data['forum_name'],
'notify' => false,
'notify_set' => 0,
'poster_ip' => $user->ip,
'post_edit_locked' => 0,
'bbcode_bitfield' => '',
'bbcode_uid' => $uid,
'message' => $message,
'topic_approved' => true,
'post_approved' => true,
);
include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
$return_link = submit_post($mode, $subject, $username, $topic_type, $poll, $data, $update_message);
$topic_id = (int) $data['topic_id'];
$post_id = (int) $data['post_id'];
Mit $return_link erhält man den Link zum gerade erstellten Forum.
$topic_id und $post_id sind dann auch wohl selbsterklärend.
Vieleicht gehts auch eleganter oder besser, das Forum selber arbeitet eher mit deiner eigens hierfür angelegten Messenger-Klasse, aber das ist alles Geschmacksache...