Skip to main content
The ForkBB admin panel provides comprehensive tools for managing your forum. Access is restricted to administrators and moderators based on their permissions.

Accessing the Admin Panel

Administrators can access the admin panel through:
1

Navigate to Admin

Click the “Admin” link in the navigation menu (visible only to users with admin privileges)
2

Verify Permissions

Your access level determines which admin sections you can view and modify
The admin panel URL follows the pattern /admin and requires authentication. The system checks $this->user->isAdmin to verify admin access.

Admin Panel Structure

The admin panel is organized into logical sections accessible through the navigation menu:

Core Sections

Index

Dashboard showing forum statistics and version information
  • Current ForkBB revision
  • Quick access to statistics

Users

User search, management, and moderation tools
  • Search users by various criteria
  • Edit user profiles
  • Ban and delete users

Bans

Manage banned users and IP addresses
  • Requires banUsers permission

Reports

View and handle user reports
  • Available to admins and moderators based on report settings

Administrator-Only Sections

These sections require full administrator privileges ($this->user->isAdmin):
Global forum configuration and settings
BBCode parser configuration and smilies management
Create and organize forum categories
Forum creation, editing, and permission management
Group creation and permission configuration
Word censoring and content filtering
File upload management and settings
Anti-spam configuration and tools
View system logs and activity
Manage forum extensions and plugins
Maintenance mode and database tools
The admin navigation is dynamically generated based on user permissions:
Admin.php:57
protected function aNavigation(): array
{
    $r   = $this->c->Router;
    $nav = [
        'index' => [$r->link('Admin'), 'Admin index'],
        'users' => [$r->link('AdminUsers'), 'Users'],
    ];

    if ($this->userRules->banUsers) {
        $nav['bans'] = [$r->link('AdminBans'), 'Bans'];
    }
    
    if ($this->user->isAdmin) {
        $nav += [
            'options'     => [$r->link('AdminOptions'), 'Admin options'],
            'parser'      => [$r->link('AdminParser'), 'Parser settings'],
            'categories'  => [$r->link('AdminCategories'), 'Categories'],
            'forums'      => [$r->link('AdminForums'), 'Forums'],
            'groups'      => [$r->link('AdminGroups'), 'User groups'],
            // ... additional sections
        ];
    }
    
    return $nav;
}

Security Features

All admin pages implement security measures:
  • CSRF token verification on form submissions
  • Permission checks before displaying content
  • Secure headers (noindex, nofollow robots meta)
  • HTTP Strict Transport Security (HSTS) set to ‘secure’ level

CSRF Protection

Every admin form includes CSRF tokens:
'hidden' => [
    'token' => $this->c->Csrf->create('AdminForums'),
],
Tokens are verified on submission:
'token' => 'token:AdminForums',

Page Styling

Admin pages use a dedicated stylesheet loaded in the page header:
Admin.php:36
$this->pageHeader('adminStyle', 'link', 9000, [
    'rel'  => 'stylesheet',
    'type' => 'text/css',
    'href' => $this->publicLink("/style/{$this->user->style}/admin.css"),
]);
The admin panel provides breadcrumb navigation for easy page hierarchy understanding:
Admin.php:104
protected function crumbs(mixed ...$crumbs): array
{
    if ('index' !== $this->aIndex) {
        if (isset($this->aNavigation[$this->aIndex])) {
            $crumbs[] = $this->aNavigation[$this->aIndex];
        }
    }
    
    $crumbs[] = [$this->c->Router->link('Admin'), 'Admin title', null, 'admin'];
    $result   = parent::crumbs(...$crumbs);
    
    $this->adminHeader = \end($result)[1];
    
    return $result;
}

Common Properties

All admin pages inherit these properties:
  • $this->identifier = 'admin' - Page identifier
  • $this->aIndex - Active navigation item indicator
  • $this->fIndex = self::FI_ADMIN - Forum index type
  • $this->onlinePos = 'admin' - Online position tracking
  • $this->robots = 'noindex, nofollow' - Search engine directives
  • $this->hhsLevel = 'secure' - HSTS level

Extending the Admin Panel

Extensions can add custom admin sections using the event system:
$event      = new Event('Pages\\Admin:aNavigation:after');
$event->nav = $nav;

$this->c->dispatcher->dispatch($event);
When creating custom admin pages, extend the ForkBB\Models\Pages\Admin base class to inherit all security features and styling.

Next Steps

User Management

Learn how to manage forum users

Forum Management

Configure forums and categories

Permissions

Understand the permission system

Security

Review security best practices

Build docs developers (and LLMs) love