Classes
Not to be confused with the CreateAccessTokenController,
this controller is used to authenticate a user with credentials,
and return a system generated session-type access token.
Resolves a registration token submitted in the POST body and returns the
non-sensitive fields needed to pre-populate the sign-up modal.
Stamps every API response with the current asset revision token, so a browsing
client can notice when the JS/CSS it booted with has been superseded and offer
the user a reload — without polling or a forced refresh.
The Conditional extender allows developers to conditionally apply other extenders
based on either boolean values or results from callable functions.
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.
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.
Implementation of the Laravel Application Contract,
for the sake of better integration with Laravel packages/ecosystem.
The "application booted" event is fired after the application has finished booting and all extension boot callbacks have been run, but before any requests have been handled.
Produces a single token representing the current state of all compiled asset
revisions, so a long-lived client can detect when the assets it booted with
have been superseded (e.g. after a rebuild or extension toggle).
Dispatched after the frontend assets have been recompiled in place (e.g. an
extension was toggled or the cache was cleared), so the compiled JS/CSS now has
a new revision. Lets consumers react — for example, to notify connected clients
that the assets they loaded are out of date.
Optional companion to SlugDriverInterface for drivers that can resolve
many slugs in a single query. Consumers that resolve slugs in bulk (e.g. the
tag filter) should prefer this when the active driver implements it, and fall
back to looping SlugDriverInterface::fromSlug() otherwise.
The notification Alert driver only picks up notifications that implement this interface.
A notification BlueprintInterface, when instantiated, represents a notification about
something. The blueprint is used by the NotificationSyncer to commit the
notification to 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.
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.
Populate the `has_avatar_2x` / `has_avatar_3x` columns for users whose
avatars predate variant tracking (uploaded before the columns existed, or
uploaded by a future code path that didn't set them).
Unactivated users can request a confirmation email,
this throttler applies a timeout of 5 minutes between confirmation requests.
Users can request an email change,
this throttler applies a timeout of 5 minutes between requests.
Logged-in users can request password reset email,
this throttler applies a timeout of 5 minutes between password resets.