function delete_forum() { global $wgRequest; self::get_all_forums(); $current_id = $cid = $wgRequest->getVal('fID'); $move_to_id = $cid = $wgRequest->getVal('move_to'); if (strlen($current_id) == 0) { return awcs_forum_error('admin_no_forum_to_delete'); } if (strlen($move_to_id) == 0) { return awcs_forum_error('admin_no_forum_to_move_to'); } if ($current_id == $move_to_id) { return awcs_forum_error('admin_deletemovethesameforum'); } if (empty($this->forum_info[$move_to_id])) { return awcs_forum_error('admin_no_forum_to_move_to'); } if (empty($this->forum_info[$current_id])) { return awcs_forum_error('admin_no_forum_to_delete'); } $t_count = 0; $p_count = 0; foreach ($this->forum_info as $id => $info) { if ($id == $current_id or $id == $move_to_id) { $t_count = $t_count + $info['f_threads']; $p_count = $p_count + $info['f_replies']; } } $dbw = wfGetDB(DB_MASTER); $dbw->update('awc_f_forums', array('f_threads' => $t_count, 'f_replies' => $p_count), array('f_id' => $move_to_id), ''); $dbw->update('awc_f_threads', array('t_forumid' => $move_to_id), array('t_forumid' => $current_id), ''); require_once awc_dir . 'includes/mod_post.php'; awcs_forum_mod_post::update_forum_last_thread($move_to_id); $dbw->delete('awc_f_forums', array('f_id' => $current_id), ''); $info['msg'] = 'forum_was_deleted'; $info['url'] = awc_url . 'sf/id' . $move_to_id; return awcf_redirect($info); }