The majority of the forum module code is located here.

Classes

  ClassDescription
Public classACPLoader
This is the control that loads all admin control panel sub-controls and the acp menu. (ie. it is the acp host)
Public classAnswerController
Communicates with the data store via the DAL for the Forum_Polls_Answers Answer items.
Public classAnswerInfo
All properties associated with the Forum_Polls_Answers table.
Public classAttachmentController
CRUD (and all db methods) Attachment Methods
Public classAttachmentInfo
A single instance of the AttachmentInfo Object.
Public classAvatarControl
A re-usable control for handling the various avatar types in the forum module.
Public classBookmarkController
Communicates with the Forum_Bookmarks table in the data store.
Public classCleanupEmailQueuedTasks
This is the Email Queue Task handler. It is designed to allow email notifications to be sent using a background thread and to not worry about the ASP.NET default limitation of 25 threads since only one will be spawned to handle this. This is all methods necessary to use the core Scheduler for tasks.
Public classCompareForumPermissions
Compares two sets of forum permission collections.
Public classConfiguration
This houses all the configuration items for use through this entire module. Most of these are module settings.
Public classConstants
This class contains a set of constants used throughout the module. THese are generally divided into two groups: Settings (for module settings) and misc. items.
Public classContainer
Loads the proper control to display to the end user based on various parameters and settings.
Public classContent
This class handles all core content item integration methods. This is abstracted to create a centralized spot within the module to manage it's own content items.
Public classContentRemoved
This is a page to handle if a thread was completely deleted. It presents the user w/ an error message and a link back home
Public classDataProvider
The abstract provider class for the Forum module.
Public classDNNForum
This is initialized by the Forum_Container (dispatch).
Public classEmailQueueTaskController
Permits access to the data store for EmailQueueTask items.
Public classEmailQueueTaskEmailsController
Interacts w/ the data store for the outgoing emails for a task.
Public classEmailQueueTaskEmailsInfo
The EmailQueueTaskEmailsInfo represents an email queue task email item
Public classEmailQueueTaskInfo
The EmailItemInfo represents an Email Queue Task info Item
Public classEmailTemplateController
Used to communicate with the data store for access to Email templates.
Public classEmailTemplateInfo
An instance of the ForumEmailTemplateInfo object. This object is used for all email templates.
Public classFilterWordCollection
A collection of words to filter for and their replacements.
Public classFilterWordInfo
All properties associated with the Forum_FilterWords Word items.
Public classForumBaseControl
Gets/Sets all the properties we need to use in the various forum views which are loaded via the dispatch (Forum_Container) control.
Public classForumBaseObject
The base object is responsible for common methods used to build the forum UI in vb code including: ForumPost, ForumThread, ForumGroup, ForumThreadSearch, ForumPortalSearch, ForumModerate
Public classForumController
Used to communicate with the data store about Forum specific items.
Public classForumEmail
Constructs an outgoing email for all types of email communication.
Public classForumEmailDistributionController
Communicates w/ the data store to retrieve a distribution arraylist of recipients for an outgoing email.
Public classForumEmailDistributionInfo
Used for determing who to send an email to.
Public classForumInfo
The forum Info object uses caching and handles the population of all data specific to a single forum instance. Rendering for Group view items is also handled here.
Public classForumKeywordController
Connects the business layer to the data layer for forum Keywords (used for template parsing).
Public classForumModuleBase
This class should be inherited by all controls that are registred as actions in DNN that should inherit PortalModuleBase.
Public classForumObject
Creates an instance of the forum object and reads properties critical to its operation.
Public classForumPermissionCollection
Basically a copy of the core ModulePermissionCollection.
Public classForumPermissionController
Basically a copy of ModulePermissionController. This allows the forum module ot implement permissions on a per module basis overriding module permissions. (Only in the sense of further restriction, not less)
Public classForumPermissionInfo
Basically a copy of the core ModulePermissionInfo class.
Public classForumPortalSettings
Simply put, this is called to populate a 'fake' HttpContext object when HttpContext is not available (ie. scheduled tasks).
Public classForumPreConfig
Runs only when a forum module is first placed on a page to set configuration defaults and to create a new forum group and a new default forum so user can use immediately
Public classForumTemplateController
Forum Template Controller - These are DeletePost, MoveThread, etc.
Public classForumTreeview
Used to build the DNNTree in User Settings, Search views.
Public classForumUserController
Connector to the data layer for the forum user object
Public classForumUserInfo
Everything necessary for a Forum User, all based on PortalID. This means a forum user profile is specific to a portal instance.
Public classGroupController
CRUD (and all db methods) Group database methods
Public classGroupInfo
A single instance of the GroupInfo Object.
Public classGroups
This is the initial view seen by the forums module. (Group View) All rendering is done in code to create UI or code is called from here (in utilities, for example).
Public classKeywordInfo
Keyword Info Object is used for retrieving what keywords to parse for based on content type
Public classMCPLoader
This is the control that loads all moderator control panel sub-controls and mcp menu. (ie. it is the mcp host)
Public classModuleSecurity
The central class where all non-core security related checks should be done.
Public classModuleSettings
The Settings ModuleSettingsBase is used to manage the settings for the Forum Module. You only store settings here that you want to allow to be changeable at the page level. This means you can copy existing versions of the module based on (ModuleID) and display things different based on the page settings for this ModuleID.
Public classPermissionInfo
Basically a copy of core PermissionInfo
Public classPollController
Communicates with the Forum_Polls_Polls table in the data store.
Public classPollInfo
All properties associated with the Forum_Polls_Polls table in the data store.
Public classPostConnector
The purpose of the PostConnector class is to have a centralized spot where multiple areas within the Forum Module can post to the database. This also is abstracted so third party providers, such as metaPost, can easily post messages. This also paves the way for Quick Reply as well as SMTP replies.
Public classPostController
Communicates with the Forum_Posts table in the data store.
Public classPostDelete
All post deletes are done from this page.
Public classPostEdit
This is where all posts are added and/or edited from. It also fires off email notification and factors in moderation.
Public classPostInfo
Creates an instance of the post info object
Public classPostModerate
This is the moderation queue page for a specific Forum.
Public classPostModerationController
Handles all database calls for moderator auditing and for tasks specific to a moderator This does not include post moderation actions where posts are actually approved/rejected, etc. just the auditing of those functions (database tracking)
Public classPostReport
Post abuse reporting is done from this screen.
Public classPostReportedController
Communicates with the Forum_Post_Reported table in the data store.
Public classPostReportedInfo
Constructs PostReported object based on the Forum_Post_Reported table, focusing on the posts.
Public classPosts
Renders the Posts view UI.
Public classPostSearchInfo
All properties associated with the Forum_Posts and Forum_Threads table that are used in ISearchable implementation.
Public classPublicProfile
This control now servers as a placeholder to redirect users to the core profile page (available in 5.3 and greater).
Public classReportedUserController
Properties associated with reported forum users. This is a combination of the Forum_Users table as well as the Forum_Post_Reported table.
Public classReportedUserInfo
Constructs PostReported object based on the Forum_Post_Reported table, focusing on the users.
Public classRoleAvatarController
CRUD (and all db methods) RoleAvatar Methods
Public classRoleAvatarInfo
A single instance of the RoleAvatarInfo Object.
Public classRss
Used for all Forum RSS Feeds.
Public classRssDocument
Used to create RSS Feeds for forums.
Public classSearchController
This class connects the search custom business object to the data layer.
Public classSearchPage
Gathers search criteria from the end user then uses this to navigate to the search results page.
Public classSearchTerms
A Helper class used to build the post/thread search self contained within the module. This is also the basis for "My Posts".
Public classSqlDataProvider
The Microsoft SQL specific provider to allow Forum module to communicate with a data store (ie. a concrete provider).
Public classStartEmailQueuedTasks
This is the Email Queue Task handler. It is designed to allow email notifications to be sent using a background thread and to not worry about the ASP.NET default limitation of 25 threads since only one will be spawned to handle this. This is all methods necessary to use the core Scheduler for tasks.
Public classTemplateInfo
An instance of the ForumTemplateInfo object. This object is used for all non-email templates.
Public classTerms
This class is used for managing taxonomy/folksonomy related terms via integration with the core.
Public classThreadController
The ThreadController class includes the option interfaces such as ISearchable, IUpgradeable in addition to the standard Get, GetAll, Update, Delete items to hook into the DAL
Public classThreadInfo
An instance of the Thread object, based on the Forum_Threads and Forum_Posts tables.
Public classThreadMove
Allows a moderator/admin to move a thread to a new forum.
Public classThreadRateInfo
All properties associated with the Forum_ThreadRating table in the data store.
Public classThreads
This renders the threads view (second view in hierarchy of forum)
Public classThreadSearch
This renders the search results view (similar to thread view - only reachable from modules search, user profile, or my settings)
Public classThreadSearchInfo
All properites associated with the Forum_Threads and Forum_Posts tables exposed to module's search
Public classThreadSplit
Allows a moderator/admin to move a thread to a new forum.
Public classTrackingController
This is what gets/sets the forum/thread notification options for subscriptions.
Public classTrackingInfo
Tracking info object.
Public classUCPLoader
This is the control that loads all user control panel sub-controls and ucp menu. (ie. it is the ucp host)
Public classUnread
This renders a list of threads containing unread posts (similar to threads view and aggregated view).
Public classUserAnswerController
Communicates with the Forum_Polls_UserAnswers table in the data store.
Public classUserAnswerInfo
All properties associated with the Forum_Polls_UserAnswers table in the data store.
Public classUserForumsController
Communicates with the Forum_UserForums table in the data store.
Public classUserForumsInfo
Represents single row of data for a userid/forumid read combination.
Public classUserThreadsController
Hanldes the Thread read status for a single user instance.
Public classUserThreadsInfo
Creates a custom business object that represents one row of data from the Forum_UserThreads table.
Public classUserTrackingController
Used to retrieve email subscribers for both the forum and the thread level subscriptions. Only used for displaying information.
Public classUserTrackingInfo
Properties associated with email subscribers, mainly pulled from TrackedForums and TrackedThreads tables.
Public classWordFilterController
Communicates with the Forum_WordFilter table in the data store.

Structures

  StructureDescription
Public structureRssDocument..::..RssChannel
RssChannel represents a ForumID.
Public structureRssDocument..::..RssItem
RssItem represents a PostID.
Public structureSearchTerms..::..SearchTerm
SearchTerms represent logic used to build the comparative parts of an SQL query.

Interfaces

  InterfaceDescription
Public interfaceIEmailQueueable
Interface used for consumption of modules wishing to schedule emails sends.

Enumerations

  EnumerationDescription
Public enumerationAdminAjaxControl
The various controls that are loaded into the ACP via Ajax.
Public enumerationAvatarControlType
The various avatar types are handled differently so we need this variable to determine how the control behaves.
Public enumerationCompareOperator
The compare operator is used for building dynamic SQL for search
Public enumerationEmailQueueTaskInfo..::..EnumEmailQueueTaskPriority
This determines the priority of the sending queue items. Logic is used in the sproc to retrieve what task to queue and send next based on the combination of priority here and the date created along w/ scheduled start date.
Public enumerationForumBehavior
Determines how a forum will behave in terms of viewing and post restrictions. Also includes if a forum is moderated or unmoderated.
Public enumerationForumContentTypeID
ForumContentType is used for determining which type of keywords should be retrieved from the database. These are used for showing what options are available to be rendered during parsing
Public enumerationForumDisplayName
The options available for how the user's name is displayed throughout the module.
Public enumerationForumEmailType
These are the various email template types available for parsing (if active) used in notification emails.
Public enumerationForumPage
This enum represents the available forum control views. All Container named ones load in the Forum_Container.ascx dynamically
Public enumerationForumScope
ForumScope is used for controlling which class to instantiate in the Forum_Container.ascx dispatch page.
Public enumerationForumTemplateTypes
These are the various template types used in this module. This is only partially implemented/active.
Public enumerationForumTreeview..::..eImageType
The image type to use to represent the various levels in the treeview.
Public enumerationForumType
Options for how a forum behaves. Notifications forums are forced subscriptions. Link forums are just links, no actual forum inside.
Public enumerationModerateAction
Determines the type of action the moderator is performing.
Public enumerationModeratorAjaxControl
The various controls that are loaded into the MCP via Ajax.
Public enumerationPermissionKeys
The permission keys used for the module level permissions (ie. module settings).
Public enumerationPostAction
The PostAction determines how a post is initially loaded in post edit and what other items to display in that screen. It also determines which sproc is called when submitting.
Public enumerationPosterRank
The different levels of user post rankings, this is determined on a per portal basis by post count and settings (if enabled)
Public enumerationPostMessage
Provides the status of an attempted post.
Public enumerationShowPosterLocation
Options available for displaying poster's location in each post.
Public enumerationThreadStatus
The different levels of forum thread status available to end users (if settings is enabled)
Public enumerationUserAjaxControl
The various controls that are loaded into the UCP via Ajax.
Public enumerationUserAvatarType
The type of user avatar being used.