aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-11-21 21:00:00 +0100
committerJoas Schilling <nickvergessen@gmx.de>2014-11-21 21:00:00 +0100
commit1104f788c313caaa4a8754dc674de01647b89ca3 (patch)
treec148ac55b482f384c0526b6361ee350ba8ef3e29
parent95a8f400529a26b403cb22f8b71106780f31d21e (diff)
parentd56da0d68f5b7bdba21a475cf08e88fa6a9fbde2 (diff)
downloadforums-1104f788c313caaa4a8754dc674de01647b89ca3.tar
forums-1104f788c313caaa4a8754dc674de01647b89ca3.tar.gz
forums-1104f788c313caaa4a8754dc674de01647b89ca3.tar.bz2
forums-1104f788c313caaa4a8754dc674de01647b89ca3.tar.xz
forums-1104f788c313caaa4a8754dc674de01647b89ca3.zip
Merge branch 'develop-ascraeus' into develop
Conflicts: phpBB/styles/subsilver2/template/confirm_delete_body.html
-rw-r--r--phpBB/includes/mcp/mcp_main.php14
-rw-r--r--phpBB/styles/prosilver/template/confirm_delete_body.html4
2 files changed, 16 insertions, 2 deletions
diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php
index 19a0ee3051..227ae84bd6 100644
--- a/phpBB/includes/mcp/mcp_main.php
+++ b/phpBB/includes/mcp/mcp_main.php
@@ -813,8 +813,17 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
$user->add_lang('posting');
+ // If there are only shadow topics, we neither need a reason nor softdelete
+ $sql = 'SELECT topic_id
+ FROM ' . TOPICS_TABLE . '
+ WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . '
+ AND topic_moved_id = 0';
+ $result = $db->sql_query_limit($sql, 1);
+ $only_shadow = !$db->sql_fetchfield('topic_id');
+ $db->sql_freeresult($result);
+
$only_softdeleted = false;
- if ($auth->acl_get('m_delete', $forum_id) && $auth->acl_get('m_softdelete', $forum_id))
+ if (!$only_shadow && $auth->acl_get('m_delete', $forum_id) && $auth->acl_get('m_softdelete', $forum_id))
{
// If there are only soft deleted topics, we display a message why the option is not available
$sql = 'SELECT topic_id
@@ -827,6 +836,7 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
}
$template->assign_vars(array(
+ 'S_SHADOW_TOPICS' => $only_shadow,
'S_SOFTDELETED' => $only_softdeleted,
'S_TOPIC_MODE' => true,
'S_ALLOWED_DELETE' => $auth->acl_get('m_delete', $forum_id),
@@ -839,7 +849,7 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
$l_confirm .= '_PERMANENTLY';
$s_hidden_fields['delete_permanent'] = '1';
}
- else if (!$auth->acl_get('m_softdelete', $forum_id))
+ else if ($only_shadow || !$auth->acl_get('m_softdelete', $forum_id))
{
$s_hidden_fields['delete_permanent'] = '1';
}
diff --git a/phpBB/styles/prosilver/template/confirm_delete_body.html b/phpBB/styles/prosilver/template/confirm_delete_body.html
index f164b5f357..f0a7ab2bdb 100644
--- a/phpBB/styles/prosilver/template/confirm_delete_body.html
+++ b/phpBB/styles/prosilver/template/confirm_delete_body.html
@@ -2,6 +2,7 @@
<form action="{S_CONFIRM_ACTION}" method="post">
<p>{MESSAGE_TEXT}</p>
+ <!-- IF not S_SHADOW_TOPICS -->
<!-- IF not S_SOFTDELETED and S_ALLOWED_DELETE and S_ALLOWED_SOFTDELETE -->
<label>
<strong>{L_DELETE_PERMANENTLY}{L_COLON}</strong>
@@ -14,6 +15,7 @@
<strong>{L_DELETE_REASON}{L_COLON}</strong><br /><span>{L_DELETE_REASON_EXPLAIN}</span><br />
<input type="text" name="delete_reason" value="" class="inputbox autowidth" maxlength="120" size="45" />
</label>
+ <!-- ENDIF -->
<fieldset class="submit-buttons">
<input type="button" name="confirm" value="{L_YES}" class="button1" />&nbsp;
@@ -33,6 +35,7 @@
<p>{MESSAGE_TEXT}</p>
+ <!-- IF not S_SHADOW_TOPICS -->
<fieldset class="fields1">
<!-- IF not S_SOFTDELETED and S_ALLOWED_DELETE and S_ALLOWED_SOFTDELETE -->
<dl>
@@ -51,6 +54,7 @@
<dd><input type="text" name="delete_reason" id="delete_reason" value="" class="inputbox autowidth" maxlength="120" size="45" /></dd>
</dl>
</fieldset>
+ <!-- ENDIF -->
<fieldset class="submit-buttons">
{S_HIDDEN_FIELDS}