MODULE | D3FORUM |
---|---|
Description | Duplicatable module for discussion forum management |
Render Engine | Smarty v2 and XCube Layout |
Version | 2.50.0 |
Author | Nobuhiro Yasutomi @nbuy XCL PHP8 |
Author | Nuno Luciano @gigamaster XCL PHP7 |
Author | @domifara, @naao Naoki Okino, @nao-pon Naoki Sawada |
Author | Gijoe (peak.ne.jp) and Jidaikbo |
Copyright | 2005-2025 Authors |
License | XCL module distributed under a GPL 2.0 License. |
Apache, Nginx, etc. PHP 8.x.x
MySQL ^8.0, MariaDB InnoDB utf8 / utf8mb4
XCL version 2.5.0
D3Forum is a powerful forum and comment system module for XOOPSCube Legacy. It's designed to be flexible and can be used both as a standalone forum system and as a comment integration solution for other modules.
-
Multi-instance Support
- Can be installed multiple times with different directory names
- Each instance can be configured independently
-
Flexible Forum Structure
- Hierarchical categories and forums
- Threaded discussions with unlimited nesting
- Topic-based organization
-
Comment Integration
- Seamlessly integrates with other modules like Pico
- Replaces the native XOOPS comment system with more features
- Provides a unified comment experience across the site
-
Advanced Permissions System
- Granular permission control at category and forum levels
- User group-based access control
- Moderator capabilities
-
Notification System
- Users can subscribe to categories, forums, or specific topics
- Email notifications for new posts and replies
- Multiple notification types (global, category, forum, topic)
-
Post Management
- Rich text editing
- File attachments
- Post history tracking
- Post approval workflow
-
User Features
- User profiles integration
- Post counting
- Topic marking (read/unread)
- Topic subscription
-
Administration Tools
- Forum synchronization
- Comment import/export
- Batch operations
- Statistics and reporting
-
Customization Options
- Template-based design
- Multiple language support
- Configurable display options
-
Search Integration
- Full-text search capabilities
- Integration with site-wide search
D3Forum is particularly valuable because it serves dual purposes - it can be a complete forum solution while also providing enhanced commenting capabilities for content across your site, creating a more integrated user experience.
The notification system in XOOPSCube allows users to subscribe to various events within modules and receive notifications when those events occur.
-
Dynamic Function Creation:
- The file uses
eval()
to dynamically create a module-specific notification function named{$mydirname}_notify_iteminfo()
- This function serves as a bridge between the core notification system and the module-specific implementation
- The file uses
-
Base Function Implementation:
- The
d3forum_notify_base()
function handles the actual notification logic - It's defined once but can be used by multiple instances of the module with different directory names
- The
-
Category-Based Notifications:
- The system supports different notification categories:
global
: Module-wide notificationscategory
: Notifications for specific forum categoriesforum
: Notifications for specific forumstopic
: Notifications for specific topics
- The system supports different notification categories:
-
Item Information Retrieval:
- For each notification type, the system retrieves relevant information:
- The name of the item (category, forum, or topic title)
- The URL to access the item
- This information is used to construct notification messages
- For each notification type, the system retrieves relevant information:
-
Permission Checking:
- The system checks if the user has permission to read the content before sending notifications
- Functions like
d3forum_get_categories_can_read()
andd3forum_get_forums_can_read()
filter content based on user permissions
- When a user subscribes to an event (e.g., new posts in a topic), the subscription is stored in the database
- When the event occurs (e.g., someone posts in that topic), the module triggers the notification
- The notification system calls the module's
{$mydirname}_notify_iteminfo()
function to get information about the item - This function calls
d3forum_notify_base()
with the module directory name, category, and item ID - The notification system uses this information to construct and send notifications to subscribed users
This architecture allows for flexible notifications across different module instances while maintaining consistent behavior.