Problem
Standardmäßig werden geänderte Beiträge nur angezeigt, wenn es einen darauf folgenden Beitrag gibt.
Geänderte Beiträge werden auch nicht angezeigt wenn ein Moderator einen Beitrag geändert hat (es sei denn der Moderator hat einen Grund angegeben).
Lösung
Öffne includes/functions_posting.php
Suche
Code: Alles auswählen
if ($data_ary['post_edit_reason'] || (!$auth->acl_get('m_edit', $data_ary['forum_id']) && ($post_mode == 'edit' || $post_mode == 'edit_first_post')))
{
$data_ary['post_edit_reason'] = truncate_string($data_ary['post_edit_reason'], 255, 255, false);
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_time' => $current_time,
'post_edit_reason' => $data_ary['post_edit_reason'],
'post_edit_user' => (int) $data_ary['post_edit_user'],
);
$sql_data[POSTS_TABLE]['stat'][] = 'post_edit_count = post_edit_count + 1';
}
else if (!$data_ary['post_edit_reason'] && $mode == 'edit' && $auth->acl_get('m_edit', $data_ary['forum_id']))
{
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_reason' => '',
);
}
Code: Alles auswählen
// Always display edit reason
/* if ($data_ary['post_edit_reason'] || (!$auth->acl_get('m_edit', $data_ary['forum_id']) && ($post_mode == 'edit' || $post_mode == 'edit_first_post')))
{ */
$data_ary['post_edit_reason'] = truncate_string($data_ary['post_edit_reason'], 255, 255, false);
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_time' => $current_time,
'post_edit_reason' => $data_ary['post_edit_reason'],
'post_edit_user' => (int) $data_ary['post_edit_user'],
);
$sql_data[POSTS_TABLE]['stat'][] = 'post_edit_count = post_edit_count + 1';
/* }
else if (!$data_ary['post_edit_reason'] && $mode == 'edit' && $auth->acl_get('m_edit', $data_ary['forum_id']))
{
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_reason' => '',
);
} */
Möchte man dass die geänderten Beiträge auch im Schnellzugriff - neue Beiträge - angezeigt werden, so muss man folgendes machen:
Suche
Code: Alles auswählen
if ($data_ary['post_edit_reason'] || (!$auth->acl_get('m_edit', $data_ary['forum_id']) && ($post_mode == 'edit' || $post_mode == 'edit_first_post')))
{
$data_ary['post_edit_reason'] = truncate_string($data_ary['post_edit_reason'], 255, 255, false);
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_time' => $current_time,
'post_edit_reason' => $data_ary['post_edit_reason'],
'post_edit_user' => (int) $data_ary['post_edit_user'],
);
$sql_data[POSTS_TABLE]['stat'][] = 'post_edit_count = post_edit_count + 1';
}
else if (!$data_ary['post_edit_reason'] && $mode == 'edit' && $auth->acl_get('m_edit', $data_ary['forum_id']))
{
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_reason' => '',
);
}
Code: Alles auswählen
// Always display edit reason
/* if ($data_ary['post_edit_reason'] || (!$auth->acl_get('m_edit', $data_ary['forum_id']) && ($post_mode == 'edit' || $post_mode == 'edit_first_post')))
{ */
$data_ary['post_edit_reason'] = truncate_string($data_ary['post_edit_reason'], 255, 255, false);
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_time' => $current_time,
'post_edit_reason' => $data_ary['post_edit_reason'],
'post_edit_user' => (int) $data_ary['post_edit_user'],
);
$sql_data[POSTS_TABLE]['stat'][] = 'post_edit_count = post_edit_count + 1';
/* }
else if (!$data_ary['post_edit_reason'] && $mode == 'edit' && $auth->acl_get('m_edit', $data_ary['forum_id']))
{
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_reason' => '',
);
} */
// Start : Mark edited posts as unread
if($post_mode == 'edit_last_post' || $post_mode == 'edit_topic')
{
$sql_update_posts = 'UPDATE ' . POSTS_TABLE . '
SET post_time = ' . $current_time . '
WHERE post_id = ' . $data_ary['post_id'] . '
AND topic_id = ' . $data_ary['topic_id'];
$db->sql_query($sql_update_posts);
$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . '
SET topic_last_post_time = ' . $current_time . '
WHERE topic_id = ' . $data_ary['topic_id'];
$db->sql_query($sql_update_topics);
update_post_information('forum', $data_ary['forum_id']);
markread('post', $data_ary['topic_id'], $data_ary['topic_id'], $data_ary['post_time']);
}
// End : Mark edited posts as unread
Möchte man, dass der bearbeitete/neue Beitrag auch in der Spalte letzter Beitrag angezeigt wird, so muss man den Code mit diesem hier ersetzen:
Code: Alles auswählen
// Always display edit reason
/* if ($data_ary['post_edit_reason'] || (!$auth->acl_get('m_edit', $data_ary['forum_id']) && ($post_mode == 'edit' || $post_mode == 'edit_first_post')))
{ */
$data_ary['post_edit_reason'] = truncate_string($data_ary['post_edit_reason'], 255, 255, false);
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_time' => $current_time,
'post_edit_reason' => $data_ary['post_edit_reason'],
'post_edit_user' => (int) $data_ary['post_edit_user'],
);
$sql_data[POSTS_TABLE]['stat'][] = 'post_edit_count = post_edit_count + 1';
/* }
else if (!$data_ary['post_edit_reason'] && $mode == 'edit' && $auth->acl_get('m_edit', $data_ary['forum_id']))
{
$sql_data[POSTS_TABLE]['sql'] = array(
'post_edit_reason' => '',
);
} */
// Start : Mark edited posts as unread
if($post_mode == 'edit_last_post' || $post_mode == 'edit_topic')
{
$sql_update_posts = 'UPDATE ' . POSTS_TABLE . '
SET post_time = ' . $current_time . '
WHERE post_id = ' . $data_ary['post_id'] . '
AND topic_id = ' . $data_ary['topic_id'];
$db->sql_query($sql_update_posts);
$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . '
SET topic_last_post_time = ' . $current_time . '
WHERE topic_id = ' . $data_ary['topic_id'];
$db->sql_query($sql_update_topics);
update_post_information('forum', $data_ary['forum_id']);
markread('post', $data_ary['topic_id'], $data_ary['topic_id'], $data_ary['post_time']);
$sql_update_forums = 'UPDATE ' . FORUMS_TABLE . '
SET forum_last_post_time = ' . $current_time . ',
forum_last_post_id = ' . $data_ary['post_id'] . ',
forum_last_post_subject = "' . $subject . '",
forum_last_poster_id = ' . $data_ary['poster_id'] . ',
forum_last_poster_name = "' . $username . '"
WHERE forum_id = ' . $data_ary['forum_id'];
$db->sql_query($sql_update_forums);
}
// End : Mark edited posts as unread
Grüße: Mahony