Lecteur Markdown
MODERATION_DOCUMENTATION_EN
Feature: Moderation #
Community moderation interface. Allows moderators and administrators to monitor problematic users, export their data and anonymise accounts. Also provides the backend infrastructure for GDPR data export.
---
Installation and Configuration #
Via FTP: Upload the `moderation/` directory into `/plugins/`.
Via package manager: Select `moderation` from the available plugins list.
Paths:
- Main plugin: `/plugins/moderation/moderation.php`
- Configuration: `/plugins/moderation/conf/moderation.conf.inc.php`
- Library: `/plugins/moderation/lib/moderation.lib.inc.php`
- Handlers: `/plugins/moderation/handlers/`
- Locales: `/plugins/moderation/locale/`
Configuration parameters (`moderation.conf.inc.php`):
| Variable | Default | Description |
|---|---|---|
| `$basedatadisplay` | `'yes'` | Display in management interface |
| `$basedisplevel` | `BASE_LEVEL_ADMIN` | Minimum required level |
| `$ftype` | `4` | Plugin type (community) |
| `MODERATION_LEVEL_ADMIN` | `BASE_LEVEL_ADMIN` | Admin moderation level |
| `MODERATION_LEVEL_MODERATOR` | `BASE_LEVEL_MODERATOR` | Moderator level |
| `MODERATION_LEVEL_USER` | `BASE_LEVEL_USER` | User level |
Required SQL tables: `users` (`$cfg['dbtable']`), `user_flags`, `user_mutes`
Exportable data modules are defined via JSON files in `conf/`.
---
Usage #
Moderation Dashboard #
Displays non-banned users with the highest number of reports or mutes.
Available Actions #
- Download a user's data (admin): generates an export of all content produced by the user.
- Anonymise an account: replaces personal data with neutral values.
- Ban/unban: via the dedicated handler.
---
Hooks and Entry Points #
Handlers #
| URL | Role | Required level |
|---|---|---|
| `?obj=moderation.mod&action=download_my_data` | Personal data export | USER |
| `?obj=moderation.mod&action=anonymize_account` | Current account anonymisation | USER |
| `?obj=moderation.mod&action=download_user_data&id=X` | Export another user's data | ADMIN |
Handlers available in `/plugins/moderation/handlers/`:
- `moderation.mod.php`
- `moderation_ban.mod.php`
- `moderation_anonymize_user.mod.php`
- `moderation_get_user_content.mod.php`
- `moderation_userdata_exporter.mod.php`
---
Dependencies #
- `Beamreactor\Database\SQL`
- `Beamreactor\Sanitizer\Parser`
- JSON configuration files in `/plugins/moderation/conf/` — read by the `gdpr` plugin to display exportable data transparency