[ADD-ON] Manual PIREP Control — Admin Switch for phpVMS 7

Manual PIREP Control is a free, VA-agnostic phpVMS 7 module for virtual airlines that want to require an approved ACARS or flight-tracking workflow while keeping normal ACARS/API reporting and valid SimBrief-prefilled flights available.

Screenshots

GitHub release update check

The module status page lets administrators check GitHub for a newer release while keeping updates manual and administrator-controlled.

GitHub release update check

Settings / PIREP switch

The existing phpVMS Admin → Settings → pireps section contains the Allow Manual PIREP Filing checkbox.

Settings PIREP switch

Dashboard alert

When manual filing is disabled, pilots see a clear dashboard alert explaining that they must use the airline’s approved flight-tracking method.

Dashboard manual filing alert


What it does

The module adds an Allow Manual PIREP Filing checkbox to phpVMS’s existing Admin → Settings → PIREPs section. The setting is disabled by default and is enforced at the server route level.

When the switch is disabled, the module:

  • Blocks the standard frontend manual PIREP form and its submission route.
  • Protects direct URLs, bookmarks, stale theme links, and manually crafted requests.
  • Redirects blocked requests to the pilot dashboard with an explanatory message.
  • Allows an authenticated pilot’s own valid SimBrief-prefilled PIREP flow.
  • Leaves ACARS/API endpoints available for approved flight clients.
  • Does not block administrators from creating or correcting PIREPs in the admin area.

No phpVMS core files need to be edited.

Features

  • Admin-controlled enable/disable switch.
  • Fail-closed behavior: disabled by default.
  • Server-side protection for frontend.pireps.create and frontend.pireps.store.
  • SimBrief ownership validation when sb_id is supplied.
  • Compatible with stock and custom frontend themes at the server-enforcement layer.
  • Idempotent migration that preserves an existing administrator choice.
  • No external dependencies or API keys.
  • Admin status page under Admin → Addons → Manual PIREP Control.
  • GitHub release checker with a notice when a newer version is available.
  • MIT licensed and free to use.

Compatibility

  • phpVMS 7 installations using the standard module manager.
  • PHP 8.1.2 or newer.
  • Stock or third-party frontend themes.

Installation through the phpVMS admin panel

  1. Download ManualPirepControl.zip from the release link below. Keep the top-level folder inside the archive named ManualPirepControl.
  2. Sign in as a phpVMS administrator.
  3. Open Admin → Modules → Add New.
  4. Select and upload ManualPirepControl.zip.
  5. Activate the module if phpVMS places it under Not Installed Modules.
  6. Run the module migration if the installer did not run it automatically.
  7. Clear the Laravel/application caches.
  8. Open Admin → Settings → PIREPs and confirm Allow Manual PIREP Filing is disabled.
  9. Open Admin → Addons → Manual PIREP Control to confirm the installed version and GitHub update status.

Expected installed path:

modules/ManualPirepControl/

FTP or file-manager installation

  1. Extract the archive.
  2. Upload the ManualPirepControl folder into the phpVMS modules directory.
  3. Activate it from Admin → Modules.
  4. From the phpVMS installation root, run:
php artisan module:enable ManualPirepControl
php artisan module:migrate ManualPirepControl --force
php artisan optimize:clear

Updating phpVMS and the module

The module lives outside phpVMS core files, so normal phpVMS updates do not replace its route guard, provider, controller, or migration. The setting is stored in the database and is not part of the core settings seed file.

If a deployment removes the module directory, upload and enable the module again. Reinstalling does not reset an existing saved setting.

The admin status page checks the canonical GitHub release every six hours, or immediately when Check GitHub now is pressed. Updates are administrator-controlled and manual; the module never replaces files automatically.

Links

Notes

This is an independent community module and is not an official phpVMS product. It is released under the MIT License. Please back up the database and test in a staging VA before enabling a new filing policy in production.

Support requests and compatibility reports are welcome in this topic.