Base model class, building on Eloquent.

Migration factory.

Models a discussion-user state record in the database.

Some models, in particular Discussion and CommentPost, are intended to support a "private" mode, wherein they aren't visible unless some criteria is met. This can be used to implement anything from private discussions to post approvals.

Model visibility scoping allows us to scope queries based on the current user.

Views are PHP files that use the Laravel Blade syntax for creation of server-side generated HTML.

This exception is thrown when someone attempts to disable an extension that other enabled extensions depend on.

This exception is thrown when someone attempts to enable an extension whose Flarum extension dependencies are not all enabled.

An error that was caught / interpreted by Flarum's error handling stack.

A formatter to render exceptions as valid {JSON:API} error object.

Log caught exceptions to a PSR-3 logger instance.

Flarum's central registry of known error types.

A formatter for turning caught exceptions into "pretty" HTML error pages.

Handle errors using the Whoops error handler for debugging.

An exception that has a well-known meaning in a Flarum application.

A factory class for creating frontend asset compilers.

A view which renders a HTML skeleton for Flarum's frontend app.

Catch exceptions thrown in a PSR-15 middleware stack and handle them safely.

Inspired by Illuminate\View\Middleware\ShareErrorsFromSession.

An interface for a mail service.

A notification BlueprintInterface, when instantiated, represents a notification about something. The blueprint is used by the NotificationSyncer to commit the notification to the database.

Models a notification record in the database.

The Notification Syncer commits notification blueprints to the database, and sends them via email depending on user preference. Where a blueprint represents a single notification, the syncer associates it with a particular user(s) and makes it available in their inbox.

A standard comment in a discussion.

A post which indicates that a discussion's title was changed.

A post that has the ability to be merged into an adjacent post.

Represents the criteria that will determine the entire result set of a query. The limit and offset are not included because they only determine which part of the entire result set will be returned.

Prepare settings for display in the client.

A settings repository decorator that allows overriding certain values.

An interface for a display name driver.

The default driver, which returns the user's username.