function forum_delete($fid) { if (!session::check_perm(USER_PERM_FORUM_TOOLS, 0)) { return false; } if (!($db = db::get())) { return false; } if (!is_numeric($fid)) { return false; } $sql = "SELECT WEBTAG, DATABASE_NAME FROM FORUMS WHERE FID = '{$fid}'"; if (!($result = $db->query($sql))) { return false; } if ($result->num_rows == 0) { return false; } list($webtag, $database_name) = $result->fetch_row(); $sql = "DELETE QUICK FROM FORUMS WHERE FID = '{$fid}'"; if (!$db->query($sql)) { return false; } $sql = "DELETE QUICK FROM FORUM_SETTINGS WHERE FID = '{$fid}'"; if (!$db->query($sql)) { return false; } $sql = "DELETE QUICK FROM SEARCH_RESULTS WHERE FID = '{$fid}'"; if (!$db->query($sql)) { return false; } $sql = "DELETE QUICK FROM VISITOR_LOG WHERE FORUM = '{$fid}'"; if (!$db->query($sql)) { return false; } $sql = "DELETE QUICK FROM POST_ATTACHMENT_FILES "; $sql .= "WHERE AID IN (SELECT AID FROM POST_ATTACHMENT_IDS "; $sql .= "WHERE FID = '{$fid}')"; if (!$db->query($sql)) { return false; } $sql = "DELETE QUICK FROM POST_ATTACHMENT_IDS WHERE FID = '{$fid}'"; if (!$db->query($sql)) { return false; } $sql = "DELETE QUICK FROM GROUP_PERMS WHERE FORUM = '{$fid}'"; if (!$db->query($sql)) { return false; } if (!forum_delete_tables($webtag, $database_name)) { return false; } return true; }
function forum_delete($fid) { if (bh_session_check_perm(USER_PERM_FORUM_TOOLS, 0)) { if (!($db_forum_delete = db_connect())) { return false; } if (!is_numeric($fid)) { return false; } $sql = "SELECT WEBTAG, DATABASE_NAME FROM FORUMS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } if (db_num_rows($result) > 0) { list($webtag, $database_name) = db_fetch_array($result, DB_RESULT_NUM); $sql = "DELETE QUICK FROM FORUMS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "DELETE QUICK FROM FORUM_SETTINGS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "DELETE QUICK FROM GROUP_PERMS WHERE FORUM = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "SELECT GID FROM GROUPS WHERE FORUM = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } while ($user_perms = db_fetch_array($result)) { $sql = "DELETE QUICK FROM GROUP_USERS WHERE GID = '{$user_perms['GID']}'"; if (!($result_remove = db_query($sql, $db_forum_delete))) { return false; } } $sql = "DELETE QUICK FROM GROUPS WHERE FORUM = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "DELETE QUICK FROM USER_FORUM WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "DELETE QUICK FROM VISITOR_LOG WHERE FORUM = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "DELETE QUICK FROM SEARCH_RESULTS WHERE FORUM = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } $sql = "SELECT AID FROM POST_ATTACHMENT_IDS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } while ($attachment_data = db_fetch_array($result)) { delete_attachment_by_aid($attachment_data['AID']); } $sql = "DELETE QUICK FROM POST_ATTACHMENT_IDS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_delete))) { return false; } if (forum_delete_tables($webtag, $database_name)) { return true; } } } return false; }