Skip to content

xoopscube/d3forum

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 

Repository files navigation

X-Updare Store XOOPSCube powered-by-electricity XCL

Project Status: Active – The project has reached a stable, usable state and is being actively developed. License GPL X-Updare Store

///// — D3Forum :: Discussion Forum Management

D3Forum Admin Permissions

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.
💻 The Minimum Requirements
      Apache, Nginx, etc. PHP 8.x.x
      MySQL ^8.0, MariaDB  InnoDB utf8 / utf8mb4
      XCL version 2.5.0

D3Forum Module Overview

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.

Key Features

  1. Multi-instance Support

    • Can be installed multiple times with different directory names
    • Each instance can be configured independently
  2. Flexible Forum Structure

    • Hierarchical categories and forums
    • Threaded discussions with unlimited nesting
    • Topic-based organization
  3. 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
  4. Advanced Permissions System

    • Granular permission control at category and forum levels
    • User group-based access control
    • Moderator capabilities
  5. 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)
  6. Post Management

    • Rich text editing
    • File attachments
    • Post history tracking
    • Post approval workflow
  7. User Features

    • User profiles integration
    • Post counting
    • Topic marking (read/unread)
    • Topic subscription
  8. Administration Tools

    • Forum synchronization
    • Comment import/export
    • Batch operations
    • Statistics and reporting
  9. Customization Options

    • Template-based design
    • Multiple language support
    • Configurable display options
  10. 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.

How Notification Works in XOOPSCube

The notification system in XOOPSCube allows users to subscribe to various events within modules and receive notifications when those events occur.

D3Forum Notification

Key Components of the Notification System

  1. 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
  2. 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
  3. Category-Based Notifications:

    • The system supports different notification categories:
      • global: Module-wide notifications
      • category: Notifications for specific forum categories
      • forum: Notifications for specific forums
      • topic: Notifications for specific topics
  4. 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
  5. Permission Checking:

    • The system checks if the user has permission to read the content before sending notifications
    • Functions like d3forum_get_categories_can_read() and d3forum_get_forums_can_read() filter content based on user permissions

Notification Flow

  1. When a user subscribes to an event (e.g., new posts in a topic), the subscription is stored in the database
  2. When the event occurs (e.g., someone posts in that topic), the module triggers the notification
  3. The notification system calls the module's {$mydirname}_notify_iteminfo() function to get information about the item
  4. This function calls d3forum_notify_base() with the module directory name, category, and item ID
  5. 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.

Packages

No packages published

Languages

  • PHP 68.3%
  • HTML 30.8%
  • Smarty 0.9%