mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
[ticket/13846] Fix softdelete feature workflow in viewtopic
Changes: - For permanent deletion of softdeleted post, disapprove mode has been changed to delete mode; - If post delete and softdelete are allowed, delete button triggers softdelete mode; - If a user can't permanently delete posts but can restore softdeleted posts, delete button won't be displayed for softdeleted posts. Subsilver2 is unaffected. PHPBB3-13846
This commit is contained in:
parent
e52bc2d022
commit
73fd75abf1
2 changed files with 11 additions and 2 deletions
|
@ -269,7 +269,9 @@
|
|||
<form method="post" class="mcp_approve" action="{postrow.U_APPROVE_ACTION}">
|
||||
<p class="post-notice deleted">
|
||||
<strong>{L_POST_DELETED_ACTION}</strong>
|
||||
<input class="button2" type="submit" value="{L_DELETE}" name="action[disapprove]" />
|
||||
<!-- IF postrow.S_DELETE_PERMANENT -->
|
||||
<input class="button2" type="submit" value="{L_DELETE}" name="action[delete]" />
|
||||
<!-- ENDIF -->
|
||||
<input class="button1" type="submit" value="{L_RESTORE}" name="action[restore]" />
|
||||
<input type="hidden" name="post_id_list[]" value="{postrow.POST_ID}" />
|
||||
{S_FORM_TOKEN}
|
||||
|
|
|
@ -1826,6 +1826,12 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
|||
(!$s_cannot_delete && !$s_cannot_delete_lastpost && !$s_cannot_delete_time && !$s_cannot_delete_locked)
|
||||
));
|
||||
|
||||
$softdelete_allowed = ($auth->acl_get('m_softdelete', $forum_id) ||
|
||||
($auth->acl_get('f_softdelete', $forum_id) && $user->data['user_id'] == $poster_id)) && ($row['post_visibility'] != ITEM_DELETED);
|
||||
|
||||
$permanent_delete_allowed = ($auth->acl_get('m_delete', $forum_id) ||
|
||||
($auth->acl_get('f_delete', $forum_id) && $user->data['user_id'] == $poster_id));
|
||||
|
||||
// Can this user receive a Private Message?
|
||||
$can_receive_pm = (
|
||||
// They must be a "normal" user
|
||||
|
@ -1888,7 +1894,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
|||
'U_EDIT' => ($edit_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=edit&f=$forum_id&p={$row['post_id']}") : '',
|
||||
'U_QUOTE' => ($quote_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&f=$forum_id&p={$row['post_id']}") : '',
|
||||
'U_INFO' => ($auth->acl_get('m_info', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=post_details&f=$forum_id&p=" . $row['post_id'], true, $user->session_id) : '',
|
||||
'U_DELETE' => ($delete_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=delete&f=$forum_id&p={$row['post_id']}") : '',
|
||||
'U_DELETE' => ($delete_allowed) ? append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=' . (($softdelete_allowed) ? 'soft_delete' : 'delete') . "&f=$forum_id&p={$row['post_id']}") : '',
|
||||
|
||||
'U_SEARCH' => $user_cache[$poster_id]['search'],
|
||||
'U_PM' => $u_pm,
|
||||
|
@ -1927,6 +1933,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
|||
'L_IGNORE_POST' => ($row['foe']) ? sprintf($user->lang['POST_BY_FOE'], get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username'])) : '',
|
||||
'S_POST_HIDDEN' => $row['hide_post'],
|
||||
'L_POST_DISPLAY' => ($row['hide_post']) ? $user->lang('POST_DISPLAY', '<a class="display_post" data-post-id="' . $row['post_id'] . '" href="' . $viewtopic_url . "&p={$row['post_id']}&view=show#p{$row['post_id']}" . '">', '</a>') : '',
|
||||
'S_DELETE_PERMANENT' => $permanent_delete_allowed,
|
||||
);
|
||||
|
||||
$user_poster_data = $user_cache[$poster_id];
|
||||
|
|
Loading…
Add table
Reference in a new issue