В этой главе подробно рассматривается устройство и возможности панели управления (административной зоны) CMS Seditio. Вы узнаете, как устроен интерфейс управления, как конфигурировать ядро, модули и плагины, как работает уникальный механизм управления экстраполями (словарями), как обслуживать базу данных, очищать кэш и вести системный аудит событий.
3.1. Обзор интерфейса панели администратора
Панель управления Seditio CMS доступна по адресу /admin (или index.php?module=admin без ЧПУ). Доступ предоставляется пользователям, входящим в группу с правами администратора (по умолчанию системная группа administrators с ID = 5). Доступ к конкретным подразделам админ-панели разграничивается с помощью матрицы прав (ACL).
Основным системным файлом, отвечающим за загрузку панели управления, является контроллер system/core/admin/admin.php, который инициализирует сессию администратора, подключает файл локализации system/lang/ru/admin.lang.php и передает управление в диспетчер system/core/admin/admin.inc.php.
3.1.1. Двухпанельная структура интерфейса

Интерфейс панели администратора разделен на две основные функциональные области:
- Сайдбар (Левая боковая панель / Sidebar): Имеет темное оформление. В верхней части выводится аватар текущего администратора и приветствие (например, «Hi, Amro»). Ниже расположен вертикальный список ссылок на главные разделы управления.
- Основное содержимое (Правая часть / Main Content): Здесь отображаются рабочие формы, списки элементов, таблицы статистики.
- Верхнее горизонтальное меню: Располагается прямо над основной областью контента. В левой части выводятся «хлебные крошки» (навигационная цепочка / breadcrumbs, например:
Administration panel > HomeилиAdministration panel > Configuration), а также кнопка быстрого перехода на сайтGo to site. В правой части находятся ссылки на профиль администратора (Profile), личные файлы (My files), количество непрочитанных ЛС (No private messages) и кнопку выхода (Logout).
- Верхнее горизонтальное меню: Располагается прямо над основной областью контента. В левой части выводятся «хлебные крошки» (навигационная цепочка / breadcrumbs, например:
3.1.2. Динамическая структура сайдбара
Сайдбар Seditio не является жестко зафиксированным: установленные модули и плагины могут динамически добавлять в него собственные пункты и раскрывающиеся подразделы.
При сборке страницы админки загрузчик system/core/admin/admin.header.php сканирует каталоги active-компонентов и ищет в них файлы описания меню:
- Для модулей:
/modules/{имя_модуля}/admin/{имя_модуля}.admin.menu.php - Для плагинов:
/plugins/{имя_плагина}/admin/{имя_плагина}.admin.menu.php
Этот файл должен возвращать ассоциативный массив конфигурации меню. Если файл найден и у пользователя есть права на просмотр компонента, его пункт автоматически встраивается в сайдбар. Все пункты сортируются по ключу order (по возрастанию), а при совпадении — по алфавиту названия.
3.1.3. Внутренний роутинг админ-панели (admin.inc.php)
За диспетчеризацию разделов панели управления отвечает файл system/core/admin/admin.inc.php, принимающий параметр m (модуль/действие) в GET-запросе:
- Проверка модуля: Сначала код выполняет SQL-запрос к таблице
sed_core, проверяя, зарегистрирован ли модуль с кодомmи имеет ли он признак администрирования (ct_admin = 1). Если да, то подключается индивидуальный файл администрирования модуля по соглашению:modules/{m}/admin/{m}.admin.php(например,modules/page/admin/page.admin.phpдля модуля страниц при обращении по адресу/admin/pageилиindex.php?module=admin&m=pageбез ЧПУ).- Диспетчеризация внутри модуля по параметру
s: Подключенный файл администрирования модуля выступает роутером второго уровня. Например, вpage.admin.phpлогика распределяется в зависимости от переданного параметраs($s = sed_import('s', 'G', 'ALP', 24)):$s == 'add'подключает файлpage.admin.add.php(добавление страниц).$s == 'edit'подключает файлpage.admin.edit.php(редактирование страниц).$s == 'manager'подключает файлpage.admin.manager.php(Менеджер страниц).- Во всех остальных случаях (по умолчанию) подключается файл
page.admin.structure.php(управление категориями и структурой разделов модуля страниц).
- Диспетчеризация внутри модуля по параметру
- Проверка плагина: Если модуль не найден, роутер проверяет, активен ли плагин с кодом
m. Если да, то подключается файл администрирования плагина:plugins/{m}/{m}.admin.plug.php(например, для плагина корзины по адресу/admin/trashcanилиindex.php?module=admin&m=trashcanбез ЧПУ). - Системный резервный путь (Fallback): Если обе проверки не дали результата, загружается соответствующий файл администрирования ядра из папки
system/core/admin/. По умолчанию загружаетсяadmin.home.inc.php(еслиmпустой),admin.{m}.inc.phpилиadmin.{m}.{s}.inc.php(при наличии параметра секцииs).
Пример 1. Динамическое меню модуля Страниц (page)
Файл: /modules/page/admin/page.admin.menu.php
return array(
'title' => 'core_page', // Языковой ключ для названия пункта в сайдбаре ($L['core_page'])
'order' => 10, // Позиция сортировки (модуль выводится выше остальных)
'adminlink' => sed_url('admin', 'm=page&s=manager'), // Основная ссылка при клике на пункт меню
'sections' => array( // Массив подразделов выпадающего меню
'queue' => array(
'label' => 'adm_valqueue', // Название: "Очередь валидации"
'auth' => array('admin', 'any', 'A'), // Доступно только администраторам
'param' => 'mn' // GET-параметр ссылки (будет сгенерировано: m=page&mn=queue)
),
'add' => array(
'label' => 'addnewentry', // Название: "Добавить страницу"
'auth' => array('page', 'any', 'A'), // Права на запись/модерацию в модуле страниц
'param' => 's' // Ссылка: m=page&s=add
),
'manager' => array(
'label' => 'adm_pagemanager', // Название: "Управление страницами"
'auth' => array('page', 'any', 'A'),
'param' => 's' // Ссылка: m=page&s=manager
),
'structure' => array(
'label' => 'adm_structure', // Название: "Структура разделов"
'auth' => array('admin', 'a', 'A'),
'param' => 'mn' // Ссылка: m=page&mn=structure
)
)
);
Пример 2. Одиночный пункт меню плагина Корзины (trashcan)
Файл: /plugins/trashcan/admin/trashcan.admin.menu.php
return array(
'title' => 'Trashcan', // Название пункта меню
'order' => 15, // Порядок сортировки
'adminlink' => sed_url('admin', 'm=trashcan'), // Ссылка
'auth' => array('plug', 'trashcan', 'A'), // Доступно только администраторам плагина корзины
'sections' => array() // Подменю отсутствует (пункт выводится как одиночная кнопка)
);
3.2. Главные настройки системы (Конфигурация)
Настройка всех параметров Seditio осуществляется в разделе «Конфигурация» (m=config).
3.2.1. Подразделы конфигурации ядра (o=core)

Ядро системы разбито на строго определенные категории настроек:
- Main setup (Основные настройки): Глобальные параметры сайта (название, описание, e-mail администратора, скин сайта по умолчанию, язык интерфейса по умолчанию, типы контента).
- Time and date (Время и дата): Форматы отображения даты и времени по всему сайту, часовой пояс сервера и пользователей.
- Skins (Скины): Настройки вывода HTML-кода (принудительный скин для всех, тип документа HTML, глобальная кодировка, ключевые слова по умолчанию, разделитель заголовков), а также переключатели вывода времени генерации страниц, сохранения копирайта и вывода SQL-статистики в подвале (
footer.tpl). - Languages (Языковые пакеты): Содержит единственную опцию принудительного навязывания дефолтного языка всем посетителям (
forcedefaultlang). - Menu slots (Слоты меню / Текстовые блоки): Глобальные текстовые области (слоты) для ввода HTML/JS-кода сквозных блоков сайта (например, кодов баннеров, линий верха и низа сайта, навигационных списков меню). Содержимое этих полей подставляется в TPL-шаблоны оформления через соответствующие TPL-теги (например,
{HEADER_BANNER}вheader.tpl,{FOOTER_BOTTOMLINE}вfooter.tpl,{HEADER_TOPLINE}вheader.tpl, а также глобальные теги вида{PHP.cfg.menu1},{PHP.cfg.menu2},{PHP.cfg.menu3}для всех файлов шаблонов). Это позволяет администратору быстро изменять общие HTML-структуры сайта прямо из админки без редактирования файлов тем на сервере. - Images (Изображения): Конфигурация обработки картинок (библиотека GD, качество сжатия jpeg/webp, максимальные и минимальные размеры загружаемых картинок).
- Plugins (Плагины): Содержит единственную глобальную опцию для включения/выключения работы всех плагинов на сайте (
Disable the plugins). - HTML Meta (HTML Мета-теги): Настройка шаблонов для генерации тега заголовка браузера (
<title>) для ядра и плагинов. Содержит три шаблона заголовков: по умолчанию (defaulttitle), для главной страницы (indextitle) и для плагинов (plugtitle). Настройки мета-тегов для страниц, форумов и PFS задаются в конфигурациях соответствующих модулей. - Home page (Главная страница): Настройка SEO-параметров исключительно для главной страницы сайта. Здесь задаются: Homepage title (заголовок главной страницы,
hometitle), Homepage meta description (описание сайта,homemetadescription) и Homepage meta keywords (ключевые слова сайта,homemetakeywords). Все эти параметры являются опциональными и используются поисковыми роботами для индексации главной страницы.
3.2.2. Конфигурация модулей и плагинов (o=module / o=plug)
Каждый установленный модуль или плагин может иметь свои параметры. Они считываются из его .setup.php файла при установке и записываются в таблицу базы данных sed_config.
В интерфейсе редактирования настроек администратору доступны две полезные функции:
- Сбросить к значениям по умолчанию (Reset): Сбросить настройки компонента к исходным значениям, прописанным разработчиком в файле setup.
- Добавить недостающие параметры (Add missing parameters): Если вы обновили плагин или модуль до новой версии, где появились новые настройки, эта кнопка просканирует setup-файл и добавит новые опции в базу данных без необходимости переустановки компонента.
3.3. Управление модулями и плагинами
В Seditio разделы «Модули» (m=modules) и «Плагины» (m=plug) служат для инсталляции, контроля состояния и быстрого администрирования расширений.
3.3.1. Панель управления модулями (m=modules)

Этот раздел выводит сводную таблицу всех модулей, обнаруженных в каталоге /modules/. Для каждого модуля отображаются:
- Название (Modules): Имя модуля (сопровождается иконкой) и ссылка на карточку его описания.
- Код (Code): Системный идентификатор модуля в CMS (например,
forums,gallery,page,pfs,pm,polls,users). - Версия (Version): Версия сборки модуля (например,
1.0.0). - Статус (Running): Текущее состояние работы модуля:
Running(Работает) — модуль полностью активен и доступен на сайте.Paused(Приостановлен) — модуль временно отключен администратором.Not installed(Не установлен) — файлы модуля загружены, но он не установлен в систему.
- Инструменты быстрого действия:
- Настройки (Configuration / Иконка шестеренки): Ведет на страницу конфигурации данного модуля. Если у модуля нет собственных настроек, иконка не отображается.
- Права (Rights / Иконка замочка): Перенаправляет в матрицу прав доступа (ACL) для быстрой настройки разрешений на чтение, запись или модерирование этого модуля для различных групп пользователей.
- Открыть (Open / Иконка стрелочки): Быстрый переход в публичный раздел данного модуля на сайте.
3.3.2. Панель управления плагинами (m=plug)

Раздел устроен аналогично панели модулей и выводит список всех плагинов из папки /plugins/:
- Название и описание: Иконка, название плагина и краткое описание его функционала. При переходе по ссылке открывается карточка плагина со списком его файлов и хуков.
- Код (Code) и Версия (Version): Системный идентификатор плагина (например,
comments,tags,sedcaptcha) и его текущая версия. - Статус (Status):
Running(Работает) — плагин полностью активен.Paused(Приостановлен) — плагин отключен.Partially running(Работает частично) — часть хуков/частей плагина активна, часть временно отключена.Not installed(Не установлен) — плагин готов к установке.
- Инструменты быстрого действия:
- Настройки (Configuration / Иконка шестеренки): Переход в форму детальной конфигурации плагина (если плагин регистрирует свои настройки).
- Права (Rights / Иконка замочка): Быстрое редактирование прав доступа (ACL) для плагина.
- Открыть (Open / Иконка стрелочки): Быстрый переход к странице плагина на сайте (доступно для плагинов, имеющих самостоятельный раздел с хуком
standalone).
3.3.3. Матрица прав доступа (ACL) для компонентов (на примере Форумов)

При клике на иконку замочка («Права») напротив любого модуля или плагина администратор переходит в интерфейс настройки прав доступа (Rights).
На странице настройки прав для модуля (например, Rights / Forums для управления доступом к форуму) представлена таблица со следующей структурой:
- Группы пользователей (Groups): Полный список зарегистрированных в системе групп (например, Administrators, Moderators, Inactive, Banned, Members, Guests и др.).
- Права группы (Rights per group / Иконка замка): Быстрый переход к индивидуальной матрице прав для выбранной группы.
- Матрица базовых прав: Для каждой группы выводятся три чекбокса с графическими индикаторами (их расшифровка находится внизу страницы в блоке Help):
- Read (Чтение / Иконка пустого листа): Разрешает пользователям этой группы просматривать разделы модуля (например, читать темы на форуме). Значение битовой маски в БД:
1. - Write (Запись / Иконка листа с карандашом): Позволяет пользователям создавать контент (писать сообщения, создавать новые темы, отправлять комментарии). Значение битовой маски в БД:
2. - Administration (Администрирование / Иконка молнии): Предоставляет группе административные и модераторские права внутри этого модуля (например, возможность удалять и переносить чужие темы на форуме). Значение битовой маски в БД:
128.
- Read (Чтение / Иконка пустого листа): Разрешает пользователям этой группы просматривать разделы модуля (например, читать темы на форуме). Значение битовой маски в БД:
- Расширенные права (Advanced rights): Если администратор открывает настройки прав с GET-параметром
advanced=1(кликнув по ссылке расширенных прав), таблица отображает дополнительные 5 кастомных чекбоксов для каждой группы: Custom #1 (маска4), Custom #2 (маска8), Custom #3 (маска16), Custom #4 (маска32) и Custom #5 (маска64). Они используются модулями и плагинами для реализации специфической логики доступа. - Аудит изменений (Set by): Отображает имя администратора, который в последний раз редактировал или сохранял права для этой группы (например, Amro). Это позволяет отслеживать, кто именно вносил изменения в настройки безопасности (поле
auth_setbyuserid). - Быстрый переход (Open): Зеленая стрелочка для открытия текущих настроек группы.
После настройки чекбоксов администратор нажимает кнопку «Обновить» (Update) внизу таблицы для применения изменений в БД.
3.4. Управление пользователями и правами групп (User Groups & ACL)
Раздел «Пользователи» (доступный по адресу /admin/users или index.php?module=admin&m=users без ЧПУ) предназначен для ведения списков групп пользователей, настройки их базовых параметров и полного разграничения прав доступа (ACL — Access Control List) ко всем системным ресурсам ядра, модулей и плагинов.
3.4.1. Интерфейс списка групп пользователей (User groups)

На этой странице администратор видит список всех существующих групп пользователей:
- Идентификатор (#ID): Системный ID группы в базе данных. Некоторые ID зарезервированы ядром Seditio:
5— Administrators (Администраторы).6— Moderators (Модераторы).4— Members (Зарегистрированные пользователи).3— Banned (Заблокированные пользователи).2— Inactive (Неактивные / Ожидающие активации).1— Guests (Гости / Незарегистрированные посетители).
- Название группы (Groups): Имя группы (например, Administrators, Moderators, Russian team).
- Участники (Members): Общее количество пользователей, добавленных в эту группу.
- Основная группа (Main): Количество пользователей, у которых данная группа выбрана в качестве основной (определяет скин, права и отображение роли пользователя по умолчанию).
- Флаги состояния:
Disabled(Yes/No) — отключена ли группа (колонкаgrp_disabledв БД).Hidden(Yes/No) — скрыта ли группа от обычных пользователей в списках (колонкаgrp_hiddenв БД).
- Права (Rights / Иконка замочка): Ссылка на глобальную матрицу прав для этой группы пользователей.
3.4.2. Глобальная матрица прав группы (на примере Rights: Administrators)

При переходе по иконке замочка («Права») напротив нужной группы открывается полная таблица настроек доступа ко всем разделам системы:
- Разделы ядра (Core): Список всех системных контроллеров ядра (например, Administration panel — доступ в админку, Directories & Extra fields — доступ к словарям, Gallery — галерея, Home page — главная страница, Log — журнал логов, Manage — инструменты администрирования, Menu manager — меню, Users — управление пользователями).
- Разделы модулей и плагинов: Список всех установленных в системе модулей и плагинов.
- Базовые права (Чекбоксы Read, Write, Administration):
Read(Чтение / Иконка пустого листа) — право просматривать раздел.Write(Запись / Иконка листа с карандашом) — право добавлять и редактировать контент в разделе.Administration(Администрирование / Иконка молнии) — право администрировать и модерировать раздел.
- Аудит изменений (Set by): Фиксирует логин администратора, последним изменившего права доступа для данного раздела в этой группе (например, Amro).
Благодаря этой гибкой матрице можно создать любую роль пользователя — от простого редактора, имеющего право только писать статьи в раздел Pages, до технического администратора или глобального модератора форумов.
3.5. Локализация интерфейса (Языковые пакеты)
В Seditio CMS реализована гибкая мультиязычная архитектура локализации интерфейса. Все текстовые константы, системные сообщения, подписи элементов управления и шаблонов не зашиты жестко в исходном коде, а вынесены в языковые файлы:
- Глобальные языковые файлы: Находятся в папке
/system/lang/(например,/system/lang/ru/main.ru.lang.php— основной языковой файл для русского языка). Они переводят ядро, базовые системные константы и заголовки. - Локальные файлы модулей: Располагаются внутри папок самих модулей (например,
/modules/page/lang/page.ru.lang.phpсодержит переводы для модуля страниц). - Локальные файлы плагинов: Хранятся в папках плагинов (например,
/plugins/contact/lang/contact.ru.lang.phpотвечает за перевод формы обратной связи).

Глобальный язык сайта по умолчанию настраивается непосредственно в конфигурационном файле datas/config.php с помощью параметра $cfg['defaultlang']. В панели администратора (раздел «Конфигурация» → «Языки») отображается только статус установленных в системе языковых пакетов и текущий дефолтный язык (отмечен галочкой ✓ в колонке Default), а также доступна опция принудительного навязывания дефолтного языка всем посетителям (forcedefaultlang). Если эта опция отключена (установлено No), Seditio автоматически определяет язык авторизованного пользователя на основе настроек в его профиле (поле user_lang). Для гостей сайта всегда применяется глобальный язык по умолчанию.
3.6. Управление словарями и экстраполями (CCK / Extra Fields, m=dic)
Раздел «Словари» (доступный по адресу /admin/dic или index.php?module=admin&m=dic без ЧПУ) в Seditio — это мощный визуальный конструктор базы данных (аналог CCK в Drupal или Extra Fields в Cotonti). Он позволяет администратору расширять стандартную структуру таблиц базы данных (страниц pages, пользователей users, комментариев com и т.д.), добавляя новые поля прямо из панели управления без необходимости писать SQL-запросы или использовать phpMyAdmin.

3.6.1. Ключевая концепция: Словари (Directories) и Экстраполя (Extrapoles)
Конструктор в Seditio базируется на разделении сущностей справочников и физических полей базы данных:
- Словари (Directories): Служат хранилищем терминов (вариантов значений). Они описывают структуру данных и варианты выбора.
- Экстраполя (Extrapoles / Extra fields): Связывают словари со структурами данных системы (страницами, пользователями и т.д.), превращая их в физические колонки таблиц БД и поля шаблонов TPL.
3.6.2. Пошаговый процесс создания нового поля
- Создание словаря («Directory»): Администратор создает новый справочник, где задает:
- Code (Код): Системный идентификатор, который послужит базой для TPL-плейсхолдеров и имени колонки в БД.
- Type (Тип): Формат поля (например, простое текстовое поле
input, числовоеnumber, текстовая областьtextarea, редакторwysiwyg, выпадающий списокselect, переключателиradioили флажкиcheckbox). - Values (Значения): Для списочных типов (
select,radio,checkbox) указывается источник данных (словарь).
- Заполнение элементов («Terms list»): При необходимости (для списочных типов) администратор наполняет словарь терминами. Для каждого термина задаются:
- Title: Отображаемое для пользователя текстовое название (например, «Красный»).
- Value: Сохраняемый в базу данных системный код значения (например,
red). - Default term: Опциональная отметка, делающая текущий термин значением по умолчанию при создании новой записи.
- Создание экстраполя («Extra field»): Администратор переходит к созданию связи и указывает Location (место интеграции:
pages,users,commentsи т.д.). После сохранения Seditio автоматически производит модификацию базы данных: отправляет SQL-запросALTER TABLEи добавляет физическую колонку в целевую таблицу по шаблонуtableprefix_{CODE}(например,page_{CODE},user_{CODE},com_{CODE}).
3.6.3. Автоматическая интеграция и TPL-теги
После привязки экстраполя Seditio автоматически генерирует набор тегов (плейсхолдеров) для использования в TPL-шаблонах оформления.
При выводе данных на страницах сайта для каждого поля {CODE} (например, {PAGE_PRICE}) формируются следующие плейсхолдеры:
{XXX_CODE}— выводит финальное значение экстраполя (для простых полей выводит введенный текст; для списочных типов автоматически преобразует сохраненное значениеValueв отображаемый текст терминаTitleна основе словаря). В формах редактирования этот же тег автоматически генерирует готовый элемент ввода (поле, селектбокс, радио-кнопки).{XXX_CODE_TITLE}— выводит название (заголовок) данного экстраполя.{XXX_CODE_DESC}— выводит текстовое описание экстраполя.{XXX_CODE_MERA}— выводит единицу измерения (меру) экстраполя.{XXX_CODE_VAL}— выводит сырое значение (raw value), хранящееся непосредственно в физической ячейке базы данных (например, системный кодredвместо текстового названия «Красный»).
3.7. Инструменты обслуживания базы данных и очистки кэша
Для обеспечения высокой скорости работы и технической исправности сайта в панели управления предусмотрены встроенные инструменты обслуживания (доступные по адресу /admin/cache и /admin/manage или index.php?module=admin&m=cache и index.php?module=admin&m=manage без ЧПУ).
3.7.1. Управление внутренним кэшем (m=cache)
В Seditio CMS используется гибридная система кэширования для минимизации нагрузки на базу данных и процессор. Движок разделяет кэшируемые данные на три независимых типа, каждым из которых администратор может управлять из панели администрирования:
- Системный кэш (БД):
- Где хранится: В таблице базы данных
sed_cacheв виде сериализованных данных PHP. - Что кэшируется: Глобальные настройки конфигурации сайта (
sed_config), структура разделов и категорий страниц, списки и хуки установленных модулей и плагинов. - Управление: Кнопка «Очистить всё» (Purge) выполняет очистку таблицы
sed_cache. Это заставляет ядро Seditio заново считать структуру модулей, плагинов и категорий при следующем обращении к сайту и перезаписать кэш.
- Где хранится: В таблице базы данных
- Кэш шаблонов (Файловая система):
- Где хранится: В каталоге
/datas/cache/на сервере в виде скомпилированных PHP-файлов шаблонов. - Что кэшируется: Сгенерированные HTML-шаблоны интерфейса сайта (TPL-файлы). Шаблонизатор XTemplate компилирует TPL-файлы в оптимизированный PHP-код для предотвращения повторного синтаксического анализа разметки при каждом обращении к странице.
- Управление: Кнопка «Очистить кэш шаблонов» (Purge TPL cache) вызывает функцию
sed_tplcache_clear(), удаляющую скомпилированные файлы из папки/datas/cache/. Рекомендуется использовать после ручного редактирования tpl-файлов для немедленного обновления интерфейса.
- Где хранится: В каталоге
- Кэш ЧПУ (Файловая система):
- Где хранится: В файле
/datas/cache/sed_urls.php. - Что кэшируется: Скомпилированный массив правил роутинга и человекопонятных (SEF) URL для ядра, модулей и плагинов, отсортированный по позициям (приоритетам).
- Управление:
- Удалить кэш ЧПУ: Удаляет файл
sed_urls.phpс сервера. - Пересоздать кэш ЧПУ (Regenerate SEF URLs): Принудительно запускает функцию
sed_urls_generate(), которая заново сканирует правила роутинга, пересортировывает их по приоритетности и генерирует свежий файл кэша.
- Удалить кэш ЧПУ: Удаляет файл
- Где хранится: В файле
3.7.2. Раздел «Инструменты» (m=manage)
Этот раздел представляет собой единый диспетчер (панель управления) для доступа к дополнительным встроенным системным утилитам, сторонним модулям и плагинам, зарегистрировавшим административные инструменты (Tools):
- Встроенные системные утилиты:
- Бан-лист (
m=banlist): Просмотр и редактирование списка заблокированных IP-адресов, подсетей и e-mail адресов. - Внутренний кэш (
m=cache): Управление кэшем базы данных, ЧПУ и скомпилированными файлами шаблонов. - Смайлики (
m=smilies): Управление системным каталогом смайлов (настройка кодов автозамены и привязка к изображениям). - Посещения (
m=hits): Просмотр логов посещаемости сайта с детализацией по годам, месяцам и дням. - Рефереры (
m=referers): Анализ источников внешних переходов на сайт.
- Бан-лист (
- Сторонние модули: Управление дополнительными модулями (например,
forums,pfs,gallery,polls), не входящими в базовое ядро системы. - Плагины-инструменты (Tools): Вызов административных панелей и интерфейсов настройки для плагинов, зарегистрировавших обработчики через хук
tools(например, редактор скиновskineditor, утилита проверки сервераsyscheckи др.).
3.8. Логирование системных событий и аудит действий пользователей
Для контроля безопасности и отслеживания изменений в Seditio встроен системный журнал логов (доступный по адресу /admin/log или index.php?module=admin&m=log без ЧПУ).
Системные события регистрируются через функцию sed_log($text, $group = 'def') и сохраняются в таблицу базы данных sed_logger. Каждая запись содержит:
log_id(mediumint, auto_increment): Уникальный ID события.log_date(int): Точное время совершения действия в формате Unix timestamp (с учетом смещения времени$sys['now_offset']).log_ip(varchar(45)): IP-адрес пользователя, поддерживающий форматы IPv4 и IPv6. В интерфейсе логов IP-адрес выводится в виде активной ссылки на быстрый поиск активности по данному адресу через встроенный инструментipsearch(m=manage&p=ipsearch&a=search&id={IP}).log_name(varchar(24)): Имя (логин) пользователя, совершившего действие (из$usr['name']).log_group(varchar(4)): Группа события (категория лога).log_text(varchar(255)): Детальный текстовый лог. При сохранении ядро Seditio автоматически отсекает слишком длинные строки и дописывает в конец значение$sys['request_uri'](адрес страницы, на которой произошло событие).
3.8.1. Группы системного журнала (log_group)
При просмотре журнала администратору доступна фильтрация событий по следующим категориям:
- Все (
all): Отображает полный список записей без фильтрации. - По умолчанию (
def): Общие события, не отнесенные к специализированным группам (например, добавление/удаление терминов или справочников). - Администрирование (
adm): Изменение глобальных настроек сайта, обновление конфигурации модулей, очистка системного кэша. - Форумы (
for): Модераторские и административные действия на форумах (перенос, удаление, закрытие, прикрепление тем, ресинхронизация разделов). - Безопасность (
sec): Неудачные попытки авторизации, попытки доступа гостей к закрытым разделам, блокировки IP за спам или флуд. - Пользователи (
usr): Изменения профилей, регистрация новых аккаунтов, удаление пользователей, смена паролей. - Плагины (
plg): Установка, удаление, приостановка работы плагинов и вызовы их компонентов. - Система (
sys): Системные предупреждения, ошибки импорта параметров и другие служебные логи.
Администратор с полными правами (isadmin) может полностью очистить журнал событий с помощью кнопки «Очистить всё» (вызывает операцию TRUNCATE над таблицей sed_logger с перенаправлением пользователя обратно на страницу логов).
Comments: (0)