Modules

SLAED CMS is built on a modular architecture where each module represents separate functionality.

Module System Overview

SLAED CMS modules can be activated, deactivated, and configured independently:

Module Principles

  • Independence - Each module works autonomously
  • Standardization - Unified API for all modules
  • Security - Own access rights for each module
  • Scalability - Ability to add new modules

Module Structure

modules/module_name/
├── index.php              # Main module file
├── admin/                 # Administrative interface
│   └── index.php
└── language/              # Language files
    ├── lang-english.php
    ├── lang-russian.php
    └── lang-german.php

Standard Modules

SLAED CMS comes with essential modules:

Module Description Features
News News publishing system Categories, comments, RSS
Pages Static content Hierarchical structure, editor
Forum Discussion system Threading, moderation, PM
Shop E-commerce Products, orders, payments
Media Gallery Images, videos, slideshows

Module API

Key module functions:

// Check module activity
function is_active($module, $view = '1') {
    global $db, $prefix;
    list($active) = $db->sql_fetchrow(
        $db->sql_query("SELECT active FROM {$prefix}_modules WHERE title='{$module}'")
    );
    return ($active == $view);
}

// Get module configuration
function get_module_config($module) {
    include("config/config_{$module}.php");
    return $conf;
}

// Check module admin rights
function is_module_admin($module) {
    return is_moder($module);
}

Developing Custom Modules

To create a custom module:

  1. Create module directory: /modules/my_module/
  2. Create main file: index.php
  3. Add language files in language/ directory
  4. Create admin interface in admin/index.php
  5. Register module in database