🎉 VaultMail for phpBB is finally here | Get it now →

Download Tag: phpbb

  • VaultUI

    Premium Theme · v1.0.0

    VaultUI A forum your members
    will actually want to use.

    VaultUI is a premium phpBB 3.3.x theme with 115 hand-written templates, full dark & light mode, and every setting you’d ever want reachable from the ACP — without touching a single file.

    Get VaultUI — $25 Coming Soon Live Demo Soon
    115
    Templates
    2
    Full Themes
    0
    Core Deps
    Accent Colours
    🔒 forum.yourcommunity.com
    VaultUI Forum Index
    🌗
    Dark & Light Mode
    Toggle in the nav ↗
    ⚙️
    ACP Controlled
    No file edits required
    115
    Template Files
    Every phpBB page covered
    2
    Fully Designed Modes
    Dark & light, not a colour swap
    $25
    One-Time Purchase
    Includes all future updates
    Accent Colours
    Set yours from the ACP
    Prosilver vs VaultUI

    What phpBB ships with.
    What your forum deserves.

    phpBB 3.3.x — Prosilver (default)
    • Design from 2007 — instantly recognisable, not in a good way
    • No dark mode — one static colour scheme
    • No ACP control over accent colour, logo, or hero
    • ~Partially responsive — inconsistent on mobile & tablet
    • Generic registration page — no hero, no conversion focus
    • No sticky topbar with blur & backdrop effect
    • Basic notification display — no dropdown panel
    • No sidebar welcome widget, stats block, or recent posts
    • No third-party plugin integration compatibility requests
    VaultUI — Installed
    • +Modern design built for 2025 — immediately sets the tone
    • +Full dark & light mode — smooth CSS-variable transitions throughout
    • +ACP-driven: accent colour, logo, hero image, board display name
    • +Fully responsive — mobile, tablet, ultrawide, all properly handled
    • +Split-panel registration page with live member stats & feature list
    • +Sticky translucent topbar with backdrop blur
    • +Rich notification dropdown — mentions, quotes, replies
    • +Sidebar: welcome widget, recent posts, who’s online, birthdays
    • +Plugin compatibility requests welcome — before or after purchase

     Not available    ~  Available but limited

    Template Coverage

    Hand-written.
    All 115 of them.

    Not a skin, not an override. Every template was written from scratch — though like most phpBB themes, prosilver is listed as the parent style for framework fallback.

    vaultui / template /
    📁 vaultui
      📁 template115 files
        overall_header.html
        overall_footer.html
        index_body.html
        forumlist_body.html
        viewtopic_body.html
        posting_layout.html
        memberlist_view.html
        memberlist_body.html
        posting_pm_layout.html
        register_body.html
        📁 mcp /13 files
        📁 ucp /31 files
        … and 60 more templates

    📁 vaultui / theme
      stylesheet.css~350 kb
      stylesheet.css (en)
    🔨
    Written from scratch, not inherited
    Every one of the 115 templates was written fresh. Like most phpBB themes, prosilver is used as the parent style for framework completeness — but no layout or markup is inherited from it.
    🎨
    CSS design token system
    The entire theme is driven by CSS custom properties. Dark mode, light mode, and your chosen accent colour cascade across all 115 templates from a single root definition.
    ⚙️
    ACP settings, not file edits
    The included VaultBB Theme plugin renders your ACP settings — accent colour, logo, hero — directly into templates at request time. No PHP edits, no FTP trips after install.
    📱
    Responsive by design, not patch
    Responsive layouts were part of the spec from day one. Every component adapts from 360px mobile to 2560px ultrawide — consistently, with no feature degradation at any breakpoint.
    Features

    Details that add up
    to something different.

    Every feature designed for admins who care about how their community feels to use — from the login screen to the deepest ACP panel.

    F-01
    🌗
    Dark & Light Mode
    Both modes are fully designed — not a colour inversion. Smooth CSS-variable transitions, OS preference detection, and user toggle. Toggle this page in the nav to see it live.
    CSS Variables OS Aware Smooth Transition
    F-02
    🎛️
    Full ACP Control
    Set accent colour, logo, hero background, and board display name from phpBB’s native ACP. The bundled VaultBB Theme plugin handles rendering — no file edits needed, ever.
    Plugin Included No File Edits
    F-03
    📱
    Fully Responsive
    Designed mobile-first from day one — not retrofitted. Every component adapts cleanly from compact 360px phones to ultrawide monitors with no layout degradation.
    Mobile-First 360px → 2560px
    F-04
    🔔
    Notification Dropdown
    An animated notification panel that surfaces mentions, quotes, and replies at a glance — no full page reload. Cleanly integrated into the sticky, blur-backed topbar.
    Animated Panel Mentions Quotes
    F-05
    🧑‍💼
    Registration Page
    A multi-step flow with a branded hero panel on the left — live member count, community stats, feature highlights — and a clean, focused form on the right. Built to convert visitors into members.
    Split-Panel Multi-Step Live Stats
    F-06
    🗂️
    Rich Forum Index
    A collapsible category layout with a persistent sidebar: welcome widget, recent posts, who’s online, birthdays, and board stats — all styled, all ready the moment you install.
    Sidebar Widgets Collapsible Recent Posts
    Preview

    Two themes.
    One codebase.

    Toggle this page light/dark in the nav — these update too

    Dark and light aren’t colour swaps of each other — both were designed as primary experiences.

    🔒 forum.yourcommunity.com
    VaultUI Forum Index
    Forum Index
    🔒 forum.yourcommunity.com/ucp
    VaultUI UCP
    User Control Panel
    What’s Included

    The theme. The plugin.
    One download.

    Bundled at no extra cost

    VaultBB Theme
    Plugin

    The VaultBB Theme plugin ships inside your VaultUI download. It’s a lightweight phpBB extension that bridges ACP settings with the theme’s template layer — so your branding renders automatically without ever touching a file.

    🎨
    Renders your ACP accent colour into CSS custom properties at runtime
    🖼
    Logo and hero image configured via ACP — served directly to templates
    🔧
    Thin, single-purpose plugin — no VaultBB Core required, zero bloat
    Enable once and forget — no ongoing maintenance
    // In the box
    • 🗂️ VaultUI Style (115 templates) Included
    • 🎨 Master Stylesheet Included
    • 🌗 Dark & Light Themes Included
    • 🔌 VaultBB Theme Plugin Included
    • 🔄 Future Updates Included
    • 🛠️ phpBB Version 3.3.x
    • 🔗 VaultBB Core Required No — standalone
    • 📝 Templates Hand-Written All 115
    Plugin Integrations

    Using a third-party plugin?
    Request support for it.

    VaultUI is built to look great with the plugins your community actually uses. Submit integration requests — before or after your purchase — and we’ll review adding compatibility for your stack wherever possible.

    ✓ VaultMail s9e/TextFormatter Board Announcements Topic Prefix Post Thanks Group Manager + your plugin →
    VaultUI for phpBB 3.3.x
    One-time purchase — $25

    Your community deserves
    a theme worth logging in for.

    115 hand-written templates. Dark & light, fully designed.
    ACP-driven. Standalone. No Core dependency. Coming soon.

    Get VaultUI — $25 Coming Soon Live Demo Soon
    vaultbb.com  ·  VaultUI v1.0.0 for phpBB 3.3.x © 2026 VaultBB. All rights reserved.
  • VaultMail

    Premium Extension · phpBB 3.3.x

    phpBB email,
    finally
    professional.

    VaultMail hooks into phpBB’s notification pipeline and replaces its plain-text mailer with a fully ACP-driven HTML email system — per-type templates, multilingual variants, three sending backends, and a privacy-first audit log.

    Explore →
    13 Email Types
    3 Backends
    Languages
    0 Bodies Stored
    my_extension.php — VaultMail API
    // Send any registered template from your extension
    use vaultbb\vaultmail\vaultmail\api;

    /** @var api $mailer */
    $mailer = $this->container->get(‘vaultbb.vaultmail.api’);

    if ($mailer->isAvailable()) {
      $ok = $mailer->send(
        ‘registration_welcome’,
        [email protected],
        [‘username’ => ‘Elara’],
        ‘my_extension’
      );
    }

    // Returns true — logged, templated, dispatched.
    // ✓ sent · smtp · 0.43ms
    phpBB vs VaultMail

    What phpBB ships with.
    What your forum deserves.

    phpBB 3.3.x — Default
    • Plain-text emails only — no HTML
    • Hardcoded .txt template files
    • No per-type control or enabling
    • ~Multilingual via per-lang .txt files — no ACP editor, no per-type variant control
    • ~PHP mail() + board SMTP — no per-send switching, no API/transactional providers
    • No password-changed confirmation email
    • ~Basic global test mode — no per-type sandbox, no catch-all address redirect
    • No delivery audit log
    • No developer API for third-party sends
    VaultMail — Installed
    • +Full HTML templates with branded shell
    • +ACP template editor with live preview
    • +Enable/disable VaultMail per email type
    • +ACP-managed language variants — per type, with fallback chain
    • +Per-send backend switching: PHPMail · SMTP · Transactional API
    • +New types phpBB never had: mod queue alert, password changed
    • +Per-type sandbox with catch-all address redirect and log status
    • +Metadata audit log — body never stored
    • +DI-native developer API for third-party extensions

     Not available    ~  Available but limited — VaultMail adds ACP control, flexibility, or missing capability

    Architecture

    How VaultMail intercepts
    phpBB’s mail pipeline

    01
    📨

    phpBB fires notification

    Any outgoing email — activation, PM, report — passes through phpBB’s messenger class and notification system.

    02
    🎯

    Hook captures context

    The core.modify_notification_template event fires. VaultMail captures the template filename and raw phpBB variables via reflection.

    03
    🔍

    Type is resolved

    The Resolver maps the template file to one of 20 VaultMail keys via FILE_MAP — language-independent, zero body parsing.

    04
    🎨

    Template is rendered

    Your HTML template is fetched from DB, the correct language variant is selected, and variables are injected via two-layer extraction.

    05
    🚀

    Sent & logged

    Dispatched via your configured backend. Metadata written to audit log — recipient, template key, status, backend. Body never stored.

    Features

    Nine reasons your
    forum email transforms.

    From ACP-managed HTML templates to privacy-safe logging — every feature designed for forum admins who actually care about their members’ experience.

    F-01
    Per-Type Template Control
    Each of phpBB’s email types gets its own HTML template in the ACP. Enable or disable VaultMail independently per type — disabled types fall back to phpBB’s native plain-text system.
    Selective Override Graceful Fallback
    F-02
    Multilingual Variants
    Create language-specific template variants per email type. VaultMail auto-selects based on the recipient’s board language with a configurable fallback chain — no extra code.
    Language Detection Fallback Chain
    F-03
    Multi-Backend Sending
    Switch between PHP mail(), direct SMTP with TLS/STARTTLS, or transactional API providers (Mailgun, SendGrid, Postmark, custom) — entirely from the ACP settings page.
    PHPMail SMTP+TLS API
    F-04
    HTML Shell Templates
    A global branded shell wraps all emails. Edit header, footer, and styles in the ACP template editor. Individual templates can bypass the shell when full custom layout is needed.
    Bypass Shell ACP Editor
    F-05
    Sandbox Test Mode
    Enable test mode and set a catch-all address. Every outgoing email is silently redirected there, logged with status “test”. Configure and verify with zero risk to real members.
    Catch Address Safe Setup
    F-06
    Privacy-First Audit Log
    Every send is logged — recipient, template key, language, backend, status, triggered-by. Email body is never stored. Full ACP search, filtering, and log retention controls.
    No Body Storage Searchable
    F-07
    Two-Layer Variable Extraction
    Variables are resolved from both a pre-send ContextStore (captured via hook before phpBB renders the template) and a static VAR_MAP — zero language-dependency, zero body parsing.
    ContextStore VAR_MAP
    F-08
    HTML Shell Templates
    A global branded HTML shell wraps all outgoing emails. The default shell is a clean, table-based layout seeded on install and fully editable in the ACP template editor. Individual templates can bypass the shell for a fully custom layout.
    ACP Editor Bypass Shell Table-Based
    F-09
    Developer API
    Resolve vaultbb.vaultmail.api from phpBB’s DI container. Send any template programmatically — language, rendering, logging, and dispatch handled automatically.
    DI Container isAvailable() Auto-logged
    Coverage

    Every email type,
    under your control.

    13 email templates covering registration, account management, subscriptions, messaging, and moderation. Some types — like password confirmation and moderation queue alerts — go beyond what phpBB sends by default.

    Template Key Description Category Origin
    registration_welcomeRegistration — Welcome EmailRegistrationphpBB Core
    registration_activationRegistration — Email/Admin ActivationRegistrationphpBB Core
    registration_admin_approveRegistration — Admin Approval RequiredRegistrationphpBB Core
    password_resetAccount — Password Reset RequestAccountphpBB Core
    password_changedAccount — Password Changed ConfirmationAccountVaultMail ✦
    email_change_verifyAccount — Email Address Change VerificationAccountphpBB Core
    private_message_notifyPrivate Messages — New PM NotificationMessagingphpBB Core
    thread_subscriptionSubscriptions — New Reply in Watched TopicSubscriptionsphpBB Core
    forum_subscriptionSubscriptions — New Topic/Reply in Watched ForumSubscriptionsphpBB Core
    report_notificationModeration — New Report SubmittedModerationphpBB Core
    moderation_queue_alertModeration — Post/Topic Awaiting ApprovalModerationphpBB Core
    mass_mailAdmin Tools — Mass Email to UsersAdminphpBB Core
    contact_us_adminContact — Contact Form Submission to AdminContactphpBB Core

    ✦ VaultMail registers this template — phpBB has no built-in email for this event.  Showing all 13 templates. Shell template (shell_default) is omitted — it is the wrapper, not an email type.

    Sending Backends

    One extension.
    Three ways to deliver.

    Switch backends in ACP settings — no code changes, no reinstall. Live connection testing built in before you go live.

    🐘
    PHP mail()
    backend: phpmail

    Delegates to phpBB’s built-in mail handler. Zero configuration — ideal for shared hosting. Lowest friction to get started.

    • Zero configuration required
    • Shared hosting compatible
    • Instant setup
    Transactional API
    backend: api

    Send via JSON API. Pre-built profiles for Mailgun, SendGrid, and Postmark. Or supply your own endpoint and auth configuration.

    • Mailgun · SendGrid · Postmark
    • Custom endpoint support
    • Bearer or custom header auth
    • Live connection test
    Developer API

    Send from any extension.
    Zero boilerplate.

    VaultMail is natively integrated with phpBB’s dependency injection container. Resolve the API service, check availability, and send — rendering, language selection, backend routing, and logging are all handled for you.

    my_extension/event/main_listener.php
    /**
    * @var \vaultbb\vaultmail\vaultmail\api
    */
    protected $vaultmail;

    // Resolve from DI container in constructor
    public function __construct(
      \vaultbb\vaultmail\vaultmail\api $vaultmail
    ) {
      $this->vaultmail = $vaultmail;
    }

    public function on_user_registered($event) {
      if (!$this->vaultmail->isAvailable()) return;

      $this->vaultmail->send(
        ‘registration_welcome’,
        $event[‘user_row’][‘user_email’],
        [‘username’ => $event[‘user_row’][‘username’]],
        ‘my_extension’ // triggered_by label
      );
    }
    🧩
    Native DI Container Integration
    Resolve vaultbb.vaultmail.api directly in your service definition. No static calls, no global state — idiomatic phpBB extension code.
    🛡️
    Graceful isAvailable() Guard
    Call isAvailable() before sending — returns false safely if VaultMail is not installed or is disabled. Your extension never breaks on boards without VaultMail.
    🌐
    Automatic Language Resolution
    Pass an optional language code or let VaultMail auto-resolve the correct variant for the recipient. Your extension stays fully language-agnostic.
    📝
    Automatic Audit Logging
    Every API send is logged with triggered_by set to your extension name — fully traceable and auditable alongside native phpBB sends.
    🎨
    sendRaw() for One-offs
    Need to send a completely custom HTML email without a registered template? sendRaw() accepts subject and body directly — still logged, still dispatched via the configured backend.
    Audit Log

    Know what was sent.
    And what wasn’t.

    Metadata-only logging by design. Recipient, template key, language, backend, status, triggered-by source — all recorded. Email body never stored. Configurable retention, ACP search, and log purging built in.

    Mail Log — Live
    Timestamp Recipient Template Key Lang Backend Status Triggered By
    2026-02-24 14:32 [email protected] registration_welcome english smtp ● sent phpbb_core
    2026-02-24 14:28 [email protected] private_message_notify english smtp ● sent phpbb_core
    2026-02-24 14:21 [email protected] password_reset english smtp ● test phpbb_core
    2026-02-24 14:15 [email protected] ban_notification english api ● sent vaultmail_hook
    2026-02-24 13:59 [email protected] moderation_queue_alert english api ● failed vaultmail_hook
    2026-02-24 13:44 [email protected] thread_subscription french smtp ● sent phpbb_core
    2026-02-24 13:30 [email protected] registration_welcome english smtp ● delegated my_extension
    Requires VaultBB Core ≥ 1.2.0. VaultMail depends on Core for its registry, admin UI, logging, and security layer. Install Core first — it’s free.
    Get VaultBB Core — Free →
    VaultMail for phpBB

    Your forum deserves
    better email.

    One extension. Every feature. The email system phpBB should have shipped with.

    Get Core — Free
    vaultbb.com  ·  VaultMail v1.0.0 for phpBB 3.3.x © 2026 VaultBB. All rights reserved.
  • VaultBB Core

    phpBB 3.3.x Extension

    VaultBB Core
    for phpBB

    N/A Requires phpBB 3.3.x · PHP 7.4+

    The shared service foundation for the entire VaultBB premium extension ecosystem on phpBB 3.3.x. Provides the Registry, Logger, AdminUI, Error Handler, and more — install once, power everything.

    Download here
    7
    DI Services exposed
    2
    Database tables created
    Free
    Always open foundation
    ext.php — is_enableable()
    namespace vaultbb\myextension;
    
    class ext extends \phpbb\extension\base
    {
        public function is_enableable(): bool
        {
            // Require VaultBB Core to be present
            if (!$this->container->
                has('vaultbb.core.registry')) {
                return new \phpbb\extension\exception(
                    'VAULTBB_CORE_REQUIRED'
                );
            }
    
            $registry = $this->container->
                get('vaultbb.core.registry');
    
            // Verify minimum Core version
            if (!$registry->meetsVersion('1.0.0')) {
                return new \phpbb\extension\exception(
                    'VAULTBB_CORE_VERSION_REQUIRED'
                );
            }
    
            return true;
        }
    }
    Step 01

    Download & extract

    Extract the zip to get a vaultbb/core/ folder.

    Step 02

    Upload to server

    Place the folder at ext/vaultbb/core/ in your phpBB root.

    Step 03

    Enable in ACP

    Go to ACP → Customise → Extensions and enable VaultBB Core.

    Step 04

    Verify dashboard

    Navigate to ACP → VaultBB → Dashboard to confirm it’s active.

    Symfony DI Services

    Seven services.
    One install.

    VaultBB Core registers seven Symfony DI services that every other VaultBB extension consumes out of the box. No manual wiring — just inject and build.

    vaultbb.core.logger
    Logger

    Centralized audit log written to phpbb_vaultbb_logs. Supports per-extension filtering, pagination, and configurable retention with automatic purging.

    Audit trail Filterable Auto-purge
    vaultbb.core.admin_ui
    AdminUI

    Complete ACP component library: brand headers, metric tiles, status rows, alerts, badges, extension rows, and log rows. All VaultBB ACP modules are built exclusively with this.

    Components Dark theme Twig
    vaultbb.core.error_handler
    Error Handler

    Production-safe exception management. Re-throws in debug mode for inspection; silently logs and suppresses in production so your forum stays online even when something goes wrong.

    Debug mode Auto-log Safe wrapper
    vaultbb.core.settings
    Settings Store

    Per-extension key-value configuration store. All VaultBB extensions should use this for their own config values rather than directly touching phpBB’s config table.

    Per-extension Cached Typed
    vaultbb.core.update_checker
    Update Checker

    Compares registered extension versions against the latest available from the VaultBB API. Results are cached for a configurable TTL (default 6 hours) to avoid hammering the API.

    6hr cache API-ready Per-ext
    vaultbb.core.notifier
    Admin Notifier

    Persistent notification queue displayed on the VaultBB ACP dashboard. Extensions post notifications via notify(); admins dismiss them through the UI.

    Persistent Dashboard Dismissable
    Developer API

    Clean contracts.
    Zero boilerplate.

    Every service exposes a consistent, documented PHP API. Inject via Symfony DI, call the method, move on. No global state, no magic, no surprises.

    • Registry lifecycle register() on enable · setActive(false) on disable · unregister() on purge
    • Structured logging log(source, action, context) — consistent action names across the ecosystem
    • Safe callable wrapper error_handler->safe(fn, source, default) — swallow or rethrow based on debug mode
    • Cross-extension checks registry->isActive('vaultbb/other') before touching another extension’s services
    • phpBB event integration Hooks core.user_setup, core.page_header, and core.adm_page_header — no polling
    my_extension/acp/main_module.php
    // Inject Core services via DI
    public function __construct(
        registry      $registry,
        logger        $logger,
        admin_ui      $admin_ui,
        error_handler $error_handler
    ) {}
    
    // Render branded header
    $this->admin_ui->brand_header(
        'My Extension', 'Overview'
    );
    
    // Show live metrics
    $this->admin_ui->metric('Items', $count, '#0c6e46');
    $this->admin_ui->metric('Today', $today, '#2563eb');
    
    // Log the page view safely
    $this->error_handler->safe(
        fn() => $this->logger->log(
            'myext', 'settings_updated',
            ['user_id' => $user_id]
        ),
        'myext', null
    );
    Release Notes

    What’s shipped.

    Compact view of all framework releases. Follows Semantic Versioning.

    Extension Architecture

    phpBB-native.
    Symfony-powered.

    VaultBB Core is a proper phpBB 3.3.x extension: PSR-4 autoloaded, wired through the Symfony DI container, and using phpBB’s migration system for all database changes. No monkey-patching, no global state.

    • 01
      Must be installed first Every VaultBB extension checks for Core via is_enableable() before phpBB lets it activate.
    • 02
      Single ACP tab for the whole ecosystem Core creates the ACP_VAULTBB tab once. All other extensions add their modules under it — never a new top-level tab.
    • 03
      Migrations handle everything Tables, default config, and ACP modules are all created and torn down through phpBB’s migration runner. Zero manual SQL.
    • 04
      Purge Core last Always purge all dependent extensions before purging Core. Dropping Core drops phpbb_vaultbb_registry and phpbb_vaultbb_logs — irreversible.
    ext/vaultbb/core/
    vaultbb/core/
    ├── acp/
    │   ├── main_info.php
    │   └── main_module.php
    ├── adm/style/
    │   ├── acp_vaultbb_core_dashboard.html
    │   ├── acp_vaultbb_core_logs.html
    │   ├── acp_vaultbb_core_settings.html
    │   └── vaultbb_core_base.html
    ├── admin_ui/
    │   └── admin_ui.php
    ├── config/
    │   └── services.yml   ← 7 DI services
    ├── error/
    │   └── error_handler.php
    ├── event/
    │   └── main_listener.php
    ├── language/en/
    │   ├── common.php
    │   └── info_acp_core.php
    ├── logger/
    │   └── logger.php
    ├── migrations/
    │   ├── install_schema.php
    │   ├── install_data.php
    │   └── v102…v104…
    ├── docs/
    │   ├── README.md
    │   ├── INSTALL.md
    │   ├── DEVELOPER.md
    │   ├── CHANGELOG.md
    │   └── EVENTS.md
    ├── composer.json
    └── ext.php
    Pricing

    The Core is Free.
    Naturally.

    The foundation of the VaultBB phpBB ecosystem will never be paywalled.

    VaultBB Core — phpBB Edition
    €0 / forever
    No account required. No license key. Just download, upload, enable.

    • 7 Symfony DI services for the whole ecosystem
    • Shared ACP tab & dashboard for all VaultBB extensions
    • Centralized audit log with retention controls
    • Full ACP component library (AdminUI)
    • Production-safe error handling
    • Settings Store, Update Checker & Admin Notifier
    • phpBB 3.3.x · PHP 7.4+ · PSR-4 autoloaded
    • Full documentation: README, INSTALL, DEVELOPER, EVENTS

  • Post Forms

    Premium phpBB Extension

    Give your forums
    a structured
    voice.

    Replace the freeform new-topic editor with purpose-built, field-driven forms. Admins design them, users fill them in, phpBB posts them — clean every time.

    Paid phpBB 3.3.x PHP 7.2+ Requires VaultBB Core
    Coming Soon View Docs →
    forum.example.com/postform?f=12
    Bug Report
    Fill in all fields accurately so we can reproduce your issue.
    Bug Title *
    Login page throws 500 on submit
    Affected Version *
    — Select a version —
    Severity *
    Low
    High — site breaking
    Critical
    Steps to Reproduce
    1. Go to /login 2. Enter credentials 3. Click submit
    Options
    Notify me
    Signature
    Post Topic
    Cancel
    * required
    9
    Field types
    text → date
    Multi-Form
    Per-forum assignments
    user picks from list
    BBCode Out
    Output templates
    {field_key} placeholders
    0
    Extra queries
    cache-backed forum map
    How it works

    Admin designs. User fills.
    phpBB posts.

    Six clean steps from first setup to a perfectly structured topic — and not one of them touches replies or edits.

    01 📋

    Create a Form

    ACP → VaultBB → Post Forms → Forms. Name it, write a description, define subject and output templates.

    02 🔧

    Add Fields

    Build field by field from 9 types. Set labels, placeholders, validation rules, and display order.

    03 📌

    Assign to Forums

    Link your form to one or more forums by Forum ID. Multiple forms per forum are fully supported.

    04 🔀

    User is Redirected

    “Post New Topic” in an assigned forum lands the user on your custom form — not the standard editor.

    05

    Form is Validated

    Required fields enforced. Lengths checked. Formats verified — URL, email, number, date. Errors shown inline.

    06 🚀

    Topic Created Natively

    Field values assemble into BBCode via your template, then phpBB’s own submit_post() creates the topic.

    Field types

    Nine ways to collect
    exactly what you need.

    Every field supports labels, descriptions, placeholders, default values, sort order — and maps to a {field_key} placeholder in your output template.

    ✏️

    Text

    Single-line input with min/max length, placeholder and default value. For titles, versions, names, identifiers.

    type: text
    📝

    Textarea

    Multi-line text area with the same validation as text. For descriptions, reproduction steps, long-form answers.

    type: textarea
    🔽

    Dropdown

    Select from a predefined list. Options entered one per line in ACP. Outputs the selected value to the template.

    type: dropdown

    Radio

    Radio button group built from your options list. One visible selection — ideal for severity, category, priority.

    type: radio
    ☑️

    Checkbox

    Single on/off toggle. Outputs “yes” or “no” in the assembled post body. For confirmations and boolean flags.

    type: checkbox
    🔗

    URL

    Text input with server-side URL format validation. Accepts https:// and http://. Invalid entries clearly rejected.

    type: url
    📧

    Email

    Email address input with format validation. Useful when a contact or coordination address needs capturing.

    type: email
    🔢

    Number

    Numeric input validated on submission. For counts, order numbers, port numbers, quantities.

    type: number
    📅

    Date

    Native date picker stored and validated as YYYY-MM-DD. Perfect for deadlines, events, schedules.

    type: date
    Output templates

    You write the template.
    It fills the blanks.

    Full control over both the post body and the topic subject via {field_key} placeholders — wrapped in any BBCode you like.

    output_template — Bug Report

    [Bug] {title} — v{version}


    [b]Title:[/b] {title}
    [b]Version:[/b] {version}
    [b]Severity:[/b] {severity}

    [b]Description:[/b]
    {description}

    [b]Steps to Reproduce:[/b]
    [list]
    {steps}
    [/list]

    [b]Repro URL:[/b] {repro_url}
    🔑
    {field_key} placeholders
    Every field gets a key. Use {that_key} anywhere in the output or subject template and it will be swapped with the user’s submitted value on post.
    📌
    Subject line templates
    Define the topic title with the same {field_key} syntax — e.g. [Bug] {title} — v{version}. Leave blank and the first required text field value is used automatically.
    Full BBCode freedom
    Wrap placeholders in any BBCode — [b], [list], [quote], [url]. The assembled result is standard phpBB post content processed normally.
    🔁
    Auto-format fallback
    Leave the template blank and Post Forms outputs each field as [b]Label:[/b] Value on its own line — clean and readable with zero configuration.
    Multi-form support

    One forum. Multiple forms.
    User’s choice.

    Assign as many forms as you need to a single forum. When a user starts a new topic, they see a clean selection page — or land directly on the form if only one is active.

    1
    Assign as many forms as needed
    From ACP → Assign to Forums, link any number of forms to a forum. Sort order controls how they appear to the user.
    2
    Single form? Direct redirect.
    When only one active form is assigned, users skip the picker entirely. The selection page only appears with two or more active forms.
    3
    Disable without unassigning
    Toggling a form’s Enabled switch off removes it from user-facing views instantly. The assignment is preserved — toggle it back on when ready.
    4
    Replies and edits? Untouched.
    The redirect fires on new topic creation only. Replies, quote-replies, and post edits always use the standard phpBB editor.
    Validation

    Server-side. Always.
    No workarounds.

    Every field validated on submission regardless of client-side state. Errors surface inline per-field and as a top-level summary banner.

    Please correct the following errors:
    Some required fields are missing or contain invalid values.
    Bug Title *
     
    ⚠ This field is required.
    Reproduction URL
    not-a-valid-url
    ⚠ Please enter a valid URL (e.g. https://example.com).
    Steps to Reproduce
    1. Open settings…
    🔒
    Required / optional per field
    Mark any field as required. The form will not submit until every required field has a valid, non-empty value.
    📏
    Min / max character length
    Set character limits on text, textarea, url, and email fields. A hint is shown below the input. Set to 0 to disable either limit independently.
    🎯
    Format checks
    URL, email, number, and date fields each carry a dedicated server-side format validator with clear, localised error messages.
    📍
    Inline per-field errors
    Each error is attached to the specific field that failed — users know exactly what to fix without scanning the entire form.
    Developer reference

    Injectable service. Clean API.
    Full extensibility.

    The central vaultbb.postforms.manager service is injectable into any Symfony DI-aware service. Build on top of forms, fields, and assignments programmatically.

    form_manager — public API
    MethodReturnsDescription
    get_forms_for_forum($forum_id)arrayActive forms for a forum — cached
    forum_has_forms($forum_id)boolFast cached presence check
    create_form($data)intCreates a form, returns its ID
    create_field($form_id, $data)intAdds a field to a form
    validate_submission($fields, $values)arrayReturns error keys by field_key
    assemble_post_body($form, $fields, $values)stringRenders the BBCode post body
    assemble_subject($form, $fields, $values)stringRenders the topic subject
    assign_forum($forum_id, $form_id, $sort)voidAdds a forum↔form assignment
    phpBB Events
    vaultbb.postforms.form_submitted
    Fires after a validated submission — the topic has already been created via submit_post(). React to new structured posts from your own extension.
    form_idforum_iduser_idpost_bodysubject
    core.posting_modify_template_vars
    Post Forms listens here to detect new-topic mode in assigned forums and fire the redirect — no core hacks, no file edits.
    native phpBBhook-based
    Cache-backed forum map — zero query overhead
    The forum↔form lookup is cached under _vaultbb_postforms_forum_map with a 30-minute TTL. Normal page loads add exactly zero extra queries. Any write operation invalidates the cache automatically.
    Installation

    Standard install.
    Up in minutes.

    No Composer, no shell access required. Standard phpBB extension install — but make sure VaultBB Core is running first.

    VaultBB Core is required
    Post Forms depends on VaultBB Core for its admin UI integration, registry, and license layer. Install and enable Core first — it’s free.
    Get Core — Free →
    1
    Install and enable VaultBB Core first if you haven’t already.
    2
    Download and unzip the Post Forms package.
    3
    Upload the vaultbb/postforms folder to ext/vaultbb/postforms/ on your phpBB board.
    4
    Go to ACP → Customise → Manage Extensions, find Post Forms, click Enable. Migrations run automatically.
    5
    Open ACP → VaultBB → Post Forms, create your first form, add fields, and assign it to a forum.

    Requirements

    phpBB3.3.x
    PHP7.2+
    VaultBB Core1.0.0 or higher
    LicenseProprietary

    Package

    Composer namevaultbb/postforms
    Install pathext/vaultbb/postforms/
    Version1.0.0
    Release Notes

    What’s changed.

    Compact view of the latest Post Forms releases.

    Structured topics.
    Happier moderators.

    Stop reading half-formed posts. Give your community the forms they need to say it right the first time.

    Coming Soon Get Support →

  • Minimum Post Characters

    newbie_99
    “ok”
    Too short · 2 / 25 chars
    regularposter
    “Great plugin, works exactly as described!”
    42 / 25 chars · OK
    chars
    0 / 25 min
    Free phpBB Extension

    Minimum Post
    Characters.

    Enforce meaningful post length on a per-forum basis. No filler, no one-word replies — your forums, your standards.

    Free & Open Source phpBB 3.3.x PHP 7.2+
    View Docs
    Per-Forum
    Granular control
    0 Deps
    No Core required
    Full Unicode
    mb_strlen aware

    Keep control 👀

    A focused extension that solves one problem well — keeping post quality up without getting in the way of your community.

    📋

    Per-Forum Minimums

    Set a different character minimum for each forum, directly from ACP → Forums → Edit Forum. Set it to 0 to disable for that forum entirely.

    Global setting auto-merge Per-forum
    👥

    Group Bypass Permissions

    Exempt any combination of user groups via phpBB’s native group permissions. Administrators are always unconditionally bypassed — no config needed.

    Group permissions Admins auto-exempt
    🏷️

    BBCode-Stripped Counting

    Tags are stripped and whitespace collapsed before counting — so users can’t pad posts with hidden markup. [b]Hi[/b] counts as 2, not 9.

    Anti-padding Whitespace collapsed

    Smart counting 🧮

    Before comparing against the minimum, the extension strips all BBCode and collapses whitespace. What you see is what actually counts — no way around it.

    Note: quoted content from other posts does count toward the total. Only the BBCode markup itself is stripped, not the body text inside quote tags.

    character_count_examples
    [b]Hi[/b] Hi 2 chars
    [b]Hello[/b] Hello 5 chars
    [quote=”X”]quoted[/quote] reply quoted reply 12 chars
    こんにちは こんにちは 5 chars

    Whitespace is also collapsed — extra spaces between words don’t inflate the count.

    💡

    phpBB’s global minimum always takes precedence

    phpBB ships with its own board-wide Minimum characters per post setting under ACP → General → Post Settings. This extension’s per-forum values layer on top of it — if the global minimum is 10 and a forum’s is 5, users still need 10 characters. The higher threshold always wins.

    Up in two minutes 🕐

    Okay, maybe five. Anyway, it’s a standard phpBB extension install — no shell access, no Composer required… and no VaultBB Core needed.

    1
    Download and unzip the extension package.
    2
    Upload the vaultbb/minpostchars folder to your board under ext/vaultbb/minpostchars/
    3
    Go to ACP → Customise → Manage Extensions, find Minimum Post Characters and click Enable. Database migrations run automatically.
    4
    To exempt a user group, go to ACP → Permissions → Groups, select the group, and toggle the Can bypass minimum post characters permission.
    5
    Edit any forum under ACP → Forums → Manage Forums and set the Minimum characters per post field. Done.

    Requirements

    phpBB3.3.x
    PHP7.2+
    LicenseGPL-2.0

    Package

    Composer namevaultbb/minpostchars
    Install pathext/vaultbb/minpostchars/

    Release Notes

    A compact view of every update to Minimum Post Characters.