Local extenders for Flarum

MIT license Latest Stable Version Total Downloads Donate

This package provides useful extenders for your local Flarum extend.php

This is not an actual extension, and will not appear in your Flarum admin panel. The extenders can be used by adding them in the array of extend.php at the root of the Flarum install.

I'm not going to copy the full README in this post because it's expected to change a lot from a release to a next.

You will find the full documentation and installation instructions on GitHub.

At the time of writing (version 0.2.0), the following extenders are included:

  • FrontendWithoutModule: like to Flarum's Frontend extender but with useful changes for non-extensions
  • HideExtensionSettings: removes the settings button of the selected extensions
  • HideExtensionVersionInAdmin: removes extension version for all extensions from admin payload
  • HideFlarumVersionInAdmin: removes Flarum version from admin payload
  • HideSystemInfoInAdmin: removes php+mysql version from admin payload
  • OverrideSettings: hard-coding and hiding settings in some contexts
  • ReplaceAdminComponentViewWithHtml: replace a component's view with the given HTML

Please take the time to read through the documentation in the source code to see if the extender makes sense for your case. Additional CSS might be required to hide the containers that contained the now hidden information. Understand that some extenders merely remove a feature from view while not actually removing the API endpoints that still allow the user to change them.

Those extenders are mostly designed for use-cases like offering Flarum as a managed service or opening up a demo forum, where you want to limit the features an admin user can access to.

I will follow Semver specification to the letter with this package, so you can expect all public methods that are not marked with @internal to not change between minor and patch versions. Using ^ requirement (the default in Composer), you can be assured that nothing will break when you update via Composer's update command.

Most extenders in the package are being developed as client work. Please get in touch if you would like an extender developed for your use case. I am open to suggestions, but will only implement them for free if they offer a clear benefit to the community at large.

Links

    2 years later