aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_forums.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/acp/acp_forums.php')
-rw-r--r--phpBB/includes/acp/acp_forums.php34
1 files changed, 27 insertions, 7 deletions
diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php
index 9330157ea0..7ae04848d6 100644
--- a/phpBB/includes/acp/acp_forums.php
+++ b/phpBB/includes/acp/acp_forums.php
@@ -345,7 +345,7 @@ class acp_forums
$start = request_var('start', $row2['min_topic_id']);
- $batch_size = 3000;
+ $batch_size = 2000;
$end = $start + $batch_size;
// Sync all topics in batch mode...
@@ -370,8 +370,8 @@ class acp_forums
meta_refresh(0, $url);
$template->assign_vars(array(
- 'U_PROGRESS_BAR' => $this->u_action . "&action=progress_bar&start=$start&total={$row['forum_topics_real']}",
- 'UA_PROGRESS_BAR' => str_replace('&', '&', $this->u_action) . "&action=progress_bar&start=$start&total={$row['forum_topics_real']}",
+ 'U_PROGRESS_BAR' => $this->u_action . "&action=progress_bar&start=$topics_done&total={$row['forum_topics_real']}",
+ 'UA_PROGRESS_BAR' => str_replace('&', '&', $this->u_action) . "&action=progress_bar&start=$topics_done&total={$row['forum_topics_real']}",
'S_CONTINUE_SYNC' => true,
'L_PROGRESS_EXPLAIN' => sprintf($user->lang['SYNC_IN_PROGRESS_EXPLAIN'], $topics_done, $row['forum_topics_real']))
);
@@ -933,7 +933,7 @@ class acp_forums
if ($forum_data_sql['parent_id'])
{
- $sql = 'SELECT left_id, right_id
+ $sql = 'SELECT left_id, right_id, forum_type
FROM ' . FORUMS_TABLE . '
WHERE forum_id = ' . $forum_data_sql['parent_id'];
$result = $db->sql_query($sql);
@@ -945,6 +945,12 @@ class acp_forums
trigger_error($user->lang['PARENT_NOT_EXIST'] . adm_back_link($this->u_action . '&' . $this->parent_id), E_USER_WARNING);
}
+ if ($row['forum_type'] == FORUM_LINK)
+ {
+ $errors[] = $user->lang['PARENT_IS_LINK_FORUM'];
+ return $errors;
+ }
+
$sql = 'UPDATE ' . FORUMS_TABLE . '
SET left_id = left_id + 2, right_id = right_id + 2
WHERE left_id > ' . $row['right_id'];
@@ -1185,7 +1191,21 @@ class acp_forums
*/
function move_forum($from_id, $to_id)
{
- global $db;
+ global $db, $user;
+
+ $to_data = $moved_ids = $errors = array();
+
+ // Check if we want to move to a parent with link type
+ if ($to_id > 0)
+ {
+ $to_data = $this->get_forum_info($to_id);
+
+ if ($to_data['forum_type'] == FORUM_LINK)
+ {
+ $errors[] = $user->lang['PARENT_IS_LINK_FORUM'];
+ return $errors;
+ }
+ }
$moved_forums = get_forum_branch($from_id, 'children', 'descending');
$from_data = $moved_forums[0];
@@ -1212,8 +1232,6 @@ class acp_forums
if ($to_id > 0)
{
- $to_data = $this->get_forum_info($to_id);
-
// Resync new parents
$sql = 'UPDATE ' . FORUMS_TABLE . "
SET right_id = right_id + $diff, forum_parents = ''
@@ -1256,6 +1274,8 @@ class acp_forums
SET left_id = left_id $diff, right_id = right_id $diff, forum_parents = ''
WHERE " . $db->sql_in_set('forum_id', $moved_ids);
$db->sql_query($sql);
+
+ return $errors;
}
/**