aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_users.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/acp/acp_users.php')
-rw-r--r--phpBB/includes/acp/acp_users.php32
1 files changed, 23 insertions, 9 deletions
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index 1e8a7b8f3e..2dca5fa7b6 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -445,7 +445,9 @@ class acp_users
break;
case 'moveposts':
-
+
+ $user->add_lang('acp/forums');
+
$new_forum_id = request_var('new_f', 0);
if (!$new_forum_id)
@@ -462,6 +464,24 @@ class acp_users
return;
}
+ // Is the new forum postable to?
+ $sql = 'SELECT forum_name, forum_type
+ FROM ' . FORUMS_TABLE . "
+ WHERE forum_id = $new_forum_id";
+ $result = $db->sql_query($sql);
+ $forum_info = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ if (!$forum_info)
+ {
+ trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);
+ }
+
+ if ($forum_info['forum_type'] != FORUM_POST)
+ {
+ trigger_error($user->lang['MOVE_POSTS_NO_POSTABLE_FORUM'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);
+ }
+
// Two stage?
// Move topics comprising only posts from this user
$topic_id_ary = $move_topic_ary = $move_post_ary = $new_topic_id_ary = array();
@@ -482,7 +502,7 @@ class acp_users
if (sizeof($topic_id_ary))
{
- $sql = 'SELECT topic_id, forum_id, topic_title, topic_replies, topic_replies_real
+ $sql = 'SELECT topic_id, forum_id, topic_title, topic_replies, topic_replies_real, topic_attachment
FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('topic_id', array_keys($topic_id_ary));
$result = $db->sql_query($sql);
@@ -496,7 +516,7 @@ class acp_users
else
{
$move_post_ary[$row['topic_id']]['title'] = $row['topic_title'];
- $move_post_ary[$row['topic_id']]['attach'] = ($row['attach']) ? 1 : 0;
+ $move_post_ary[$row['topic_id']]['attach'] = ($row['topic_attachment']) ? 1 : 0;
}
$forum_id_ary[] = $row['forum_id'];
@@ -567,12 +587,6 @@ class acp_users
sync('forum', 'forum_id', $forum_id_ary);
}
- $sql = 'SELECT forum_name
- FROM ' . FORUMS_TABLE . "
- WHERE forum_id = $new_forum_id";
- $result = $db->sql_query($sql, 3600);
- $forum_info = $db->sql_fetchrow($result);
- $db->sql_freeresult($result);
add_log('admin', 'LOG_USER_MOVE_POSTS', $user_row['username'], $forum_info['forum_name']);
add_log('user', $user_id, 'LOG_USER_MOVE_POSTS_USER', $forum_info['forum_name']);