$okmsg .= "Searchdata successfully rebuilt.<br />"; } else { $okmsg .= "<strong>Flag "empty_search_table" set in db configuration. Search table is not going to be rebuild with that.</strong>"; } } if (isset($_POST['rebuild_userposts']) && !empty($_POST['rebuild_userposts'])) { $ret = phorum_db_rebuild_user_posts(); $okmsg .= "Postcounts for users updated.<br />"; } if (isset($_POST['rebuild_display_names']) && !empty($_POST['rebuild_display_names'])) { $redir_url = phorum_admin_build_url(array('module=update_display_names', 'request=integrity'), TRUE); phorum_redirect_by_url($redir_url); exit; } if (isset($_POST['rebuild_forumpaths']) && !empty($_POST['rebuild_forumpaths'])) { $forums = phorum_admin_build_path_array(); unset($forums[0]); foreach ($forums as $fid => $forumpath) { $update_forum = array('forum_id' => $fid, 'forum_path' => $forumpath); phorum_db_update_forum($update_forum); } $okmsg .= "Forum paths successfully rebuilt.<br />"; } } if ($error) { phorum_admin_error($error); } elseif ($okmsg) { phorum_admin_okmsg($okmsg); } include_once "./include/admin/PhorumInputForm.php"; $frm =& new PhorumInputForm("", "post");
} // check for changes which require a forum-path update $setforumpath = false; if (defined("PHORUM_EDIT_FOLDER")) { if ($oldfolder['name'] != $_POST['name'] || $oldfolder['parent_id'] != $_POST['parent_id'] || $setvroot) { $setforumpath = true; } // add the folder } // other db-operations done, now doing the work for vroots if ($res) { $cur_folder_tmp = phorum_db_get_forums($cur_folder_id); $cur_folder = array_shift($cur_folder_tmp); if ($setforumpath) { $setforum_children = phorum_admin_get_descending($cur_folder_id); $built_paths = phorum_admin_build_path_array(); phorum_db_update_forum(array('forum_id' => $cur_folder_id, 'forum_path' => $built_paths[$cur_folder_id])); if (is_array($setforum_children) && count($setforum_children)) { foreach ($setforum_children as $child_forum_id => $child) { phorum_db_update_forum(array('forum_id' => $child['forum_id'], 'forum_path' => $built_paths[$child_forum_id])); } } } if (!$setvroot && ($oldfolder['vroot'] && $oldfolder['vroot'] == $cur_folder_id || $oldfolder['parent_id'] != $cur_folder['parent_id'])) { // get the parent_id and set its vroot (if its a folder) // to the desc folders/forums if ($cur_folder['parent_id'] > 0) { // is it a real folder? $parent_folder = phorum_db_get_forums($cur_folder['parent_id']); // then set the vroot to the vroot of the parent-folder (be it 0 or a real vroot) phorum_admin_set_vroot($cur_folder_id, $parent_folder[$cur_folder['parent_id']]['vroot'], $cur_folder_id);
unset($forum_settings["inherit_id"]); unset($forum_settings["message_count"]); unset($forum_settings["sticky_count"]); unset($forum_settings["thread_count"]); unset($forum_settings["last_post_time"]); unset($forum_settings["vroot"]); $res_inherit = phorum_db_update_forum($forum_settings); } } else { if (isset($_POST['forum_id'])) { unset($_POST['forum_id']); } $res = phorum_db_add_forum($_POST); // set/build the forum_path $cur_forum_id = $res; $built_paths = phorum_admin_build_path_array($cur_forum_id); phorum_db_update_forum(array('forum_id' => $cur_forum_id, 'forum_path' => $built_paths[$cur_forum_id])); } if ($res) { if ($reload) { $url = phorum_admin_build_url(array('module=editforum', 'forum_id=' . $_POST['forum_id'])); } else { $url = phorum_admin_build_url(array('module=default', 'parent_id=' . $_POST['parent_id'])); } phorum_redirect_by_url($url); exit; } else { $error = "Database error while adding/updating forum."; } } foreach ($_POST as $key => $value) {