diff options
Diffstat (limited to 'phpBB/viewtopic.php')
-rw-r--r-- | phpBB/viewtopic.php | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 378e2d8f97..103fc7f108 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1812,7 +1812,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) $s_first_unread = $first_unread = true; } - $force_edit_allowed = $force_delete_allowed = false; + $force_edit_allowed = $force_delete_allowed = $force_softdelete_allowed = false; $s_cannot_edit = !$auth->acl_get('f_edit', $forum_id) || $user->data['user_id'] != $poster_id; $s_cannot_edit_time = $config['edit_time'] && $row['post_time'] <= time() - ($config['edit_time'] * 60); @@ -1842,7 +1842,9 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) * @var bool s_cannot_delete_lastpost User can not delete the post because it's not the last post of the topic * @var bool s_cannot_delete_locked User can not delete the post because it's locked * @var bool s_cannot_delete_time User can not delete the post because edit_time has passed + * @var bool force_softdelete_allowed Allow the user to ыoftdelete the post (all permissions and conditions are ignored) * @since 3.1.0-b4 + * @changed 3.1.11-RC1 Added force_softdelete_allowed var */ $vars = array( 'row', @@ -1856,6 +1858,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) 's_cannot_delete_lastpost', 's_cannot_delete_locked', 's_cannot_delete_time', + 'force_softdelete_allowed', ); extract($phpbb_dispatcher->trigger_event('core.viewtopic_modify_post_action_conditions', compact($vars))); @@ -1877,10 +1880,10 @@ 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); + $softdelete_allowed = $force_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) || + $permanent_delete_allowed = $force_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? |