diff options
author | rxu <rxu@mail.ru> | 2017-04-19 21:18:14 +0700 |
---|---|---|
committer | rxu <rxu@mail.ru> | 2017-04-19 21:33:22 +0700 |
commit | f178c06b4fb53c232ee52f2683c777ba7f4aada9 (patch) | |
tree | 759b7c24156999e7723f2d8f62f715d58945fbc7 /phpBB/viewtopic.php | |
parent | 67995e1e096d44069d3c76efc5c7ab90aef73398 (diff) | |
download | forums-f178c06b4fb53c232ee52f2683c777ba7f4aada9.tar forums-f178c06b4fb53c232ee52f2683c777ba7f4aada9.tar.gz forums-f178c06b4fb53c232ee52f2683c777ba7f4aada9.tar.bz2 forums-f178c06b4fb53c232ee52f2683c777ba7f4aada9.tar.xz forums-f178c06b4fb53c232ee52f2683c777ba7f4aada9.zip |
[ticket/15186] Fully implement the force_delete_allowed feature
PHPBB3-15186
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? |