ich arbeite gerade an einem Forenspiel für das phpbb3. Hierbei sollen Postings automatisch erstellt (bei neuem Spiel) und geändert (bei Lösung) werden.
Zum Erstellen und ändern der Postings nutze ich die phpbb3-interne funktion submit_post(). Das erstellen und ändern der Postsings funktioniert soweit auch, was jedoch nicht Funktioniert ist das Ändern des Topictitels.
hier mal meine Funktion:
postmode ist entweder post oder edit
subject ist beim erstellen "[Hangman] Tip zur Lösung" und wenn gelöst wurde "[Gelöst] Tip zur Lösung"
message ist der Postingtext
username der Ersteller des Postsings
topic_type ist POST_NORMAL
post_id ist leer wenn ein Spiel erstellt wird oder enthält die post_id wenn das Posting geändert wird
poster_id ist leer wenn ein Spiel erstellt wird und enthält die user_id des Spielstellers wenn das Posting geändert wird
Code: Alles auswählen
function hangman_post($postmode, $subject, $message, $username, $topic_type, $post_id = 0, $poster_id = 0)
{
global $hangman_config;
// generate text for storage
generate_text_for_storage($message, $uid, $bitfield, $options, true, true, true);
// create data array for posting
$data = array(
'forum_id' => $hangman_config['forum_id'],
'topic_id' => 0,
'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,
'post_edit_locked' => 0,
'topic_title' => $subject,
'enable_indexing' => true,
);
// append post_id to data_array if we update an existing post
if($postmode == 'edit')
{
$data['post_id'] = $post_id;
$data['post_edit_reason'] = 'Update';
}
if($poster_id != 0)
{
$data['poster_id'] = $poster_id;
}
// submit post
submit_post($postmode, $subject, $username, $topic_type, $poll, $data, true);
return $data['post_id'];
}
Ebenso wird der Änderungsgrund im Posting eingetragen (post_edit_reason). Kurios ist jedoch, klicke ich als Admin auf Edit Post steht in der Topic Titel Zeile der neue Topictitle. Warum wird dieser als nicht auch im Forum aktualisiert?
Gruss
Martin