mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-05 08:17:47 +02:00
[ticket/15186] Fully implement the force_delete_allowed feature
PHPBB3-15186
This commit is contained in:
@@ -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?
|
||||
|
Reference in New Issue
Block a user