Classes
The controller for the Auto-Nav block.
An object used by the Autonav Block to display navigation items in a tree.
The controller for the content block.
The controller for the conversation block. This block is used to display conversations in a page.
The controller for the core scrapbook display block. This block is automatically used when a block is copied into a page from a clipboard. It is a proxy block.
The controller for the stack display block. This is an internal proxy block that is inserted when a stack's contents are displayed in a page.
The controller for the block that displays featured add-ons in the dashboard news overlay.
The controller for the block that displays featured themes in the dashboard news overlay.
An object that represents an option in a survey.
Class Block is a backend controller for ajax requests
Note – this came from a half-completed pull request, and no routes actually reference this controller anymore.
OAuth Client Credentials A value object for communicating plain text keys and secrets
Interface ApplicationAwareInterface This interface declares awareness of the concrete5 application.
Trait ApplicationAwareTrait A trait used with ApplicationAwareInterface
The result of an edit operation.
\@package Helpers
Useful functions for generating elements on the Concrete interface.
Interface that all the sitemap providers must implement.
Interface that all the sitemap tree collections (eg multilingual sections) must implement.
Interface that all the assets must implement.
Interface that any attribute key must implement.
Interface that category objects (for instance, Express entities) must implement.
Abstract class to be used by attribute category classes.
The interface that any attribute category must implement.
Interface that all the classes that handle the search index of attribute categories must implement.
Class to be implemented by attribute categories to define the attribute indexing table.
Clears a group of attribute keys against an object.
Saves a group of attribute keys against an object.
Attribute controllers should implement this interface to customize the display value when there's no current value.
Handles adding and removing keys from attribute sets.
Formerly the only way to specify an icon – lets attributes provide one as icon.png in their folder.
Attribute controllers should implement this interface if they want to make it possible to filter a result list by the exact value of an attribute. This enables support things like unique/SKU filtering in Express.
Adds required methods to actual REST controllers.
Responsible for serializing an attribute key for use in the key selector component.
Responsible for retrieving attribute values from an object and serializing them.
Responsible for retrieving attribute values from objects and serializing them.
Responsible for serializing attribute sets for use in the key selector component.
Interface that all the classes that handle the search index of attribute keys must implement.
Attribute controllers should implement this interface if they support importing/exporting to/from multiple plain text fields.
The interface that any object thay may have attributes must implement.
Factory class for creating and retrieving instances of the Attribute type entity.
Handles adding and removing keys from attribute sets.
Attribute controllers should implement this interface if they support importing/exporting to/from plain text.
Handles adding and removing keys from attribute sets.
Factory class for creating and retrieving instances of the Attribute type entity.
Class CommunityServiceFactory A simple factory class for creating community authentication services
Work with the rendered view of a block.
This command is used by the in-page board instance rule scheduler. At this point, the instance rule has already been created, but it doesn't have a slot yet, or a start date/time/timezone. So this command is responsible primarily for setting those attributes, and setting the particular slot for the rule (which also puts it out of "draft" mode.)
Simple object to tie a board instance to a set of a InstanceItem objects. These get decreased over time as the board slots are filled out.
Joins content objects to a template and slot number. A simple object that we can use to store values BEFORE we actually populate block content and save items to the database.
Actually responsible for grouping selected content object collections with the proper template. This is then joined back to the slot object.
Joins a content slot to all content objects that could be present in it. This is then filtered by board rules into the actual ContentObjectCollection objects passed to the PlannedSlotTemplate object.
Responsible for filtering slot templates down to the appropriate ones given design criteria on the board, total content slots in templates, etc.
Holds a collection of RenderedSlot objects, each bound to a particular slot for easy rendering.
Holds a collection of RenderedSlot objects, each bound to a particular slot for easy rendering.
Responsible for locating and rendering summary templates.
Simple cache driver that enables doctrine to use c5's caching library.
Class LaminasCacheDriver Adapter class to hook Laminas's cache into Concrete's cache.
Base class for the three caching layers present in Concrete5:
- ExpensiveCache
- ObjectCache
- RequestCache
A cache store that has the ability to be flushed
Class ExpensiveCache This cache stores data that is expensive to build that will see a performance boost if stored on disk.
Class ExpensiveCache This cache stores data about where files are located in concrete5.
Class RequestCache Cache that only lives for the current request. This cache level is not configurable.
Manages opcaches.
Class RedisPageCache
Interface that all captcha controllers must implement.
Interface that captcha controllers .
Interface that configurable captcha controllers can implement to let users customize the captcha.
Captcha controller used when there's no active captcha library.
Batch builder object for use before the batch is actually dispatched and converted into an entity.
Responsible for presenting all loaded Concrete\Core\Command\Task\Input\FieldInterface fields to the actual task system.
An output class that discards output sent to it.
This interface declares awareness of task output.
A trait used with OutputAwareInterface
Receives a task and a command, and synchronously executes the command. On complete, returns the response.
Receives a command and asynchronously executes it on a process.
Methods useful for working with Task objects.
Methods useful for working with Task sets.
A loader that delegates method calls to multiple other loaders
A file loader specific to default core file loading.
Redis config service provider.
Class Liaison.
base command class Large swaths of this class have been copied from illuminate/config 5.2 and 5.5 so you may refer to their documentation for some things.
Adds commands to the console
Interface to flag an object as being aware of the symfony console components.
A trait that provides awareness of the console to objects
Concrete's output style.
Console command parser This was taken directly from illuminate/console
Base class for all the controllers.
Class ControllerResolver.
Adds specific Dashboard endpoints for viewing an entity's results and advanced search.
Adds viewing, creation, update and deletion to a page.
Adds listing of dashboard express entries to a page.
Adds specific Dashboard endpoints for viewing an entity's results and advanced search.
Adds multisite checking to a Dashboard page controller. Note: This must be used from within a Dashboard page controller.
Class ConversationService Currently manages tracking review aggregates
Base class for all the conversations frontend controllers.
A class that holds operations performed on both request and response cookies.
A League CSV formatter to tackle CSV Formula Injection.
Get an instance of a CSV Writer.
PDO implementation of the Connection interface.
Helper class to work with database time zones.
PDO MySql driver.
The PDO implementation of the Statement interface.
EntityManagerConfigFactory Responsible for bootstrapping the core concrete5 entity manager (Concrete\Core\Entity) and the application level entity manager. Sets the stage for the package entity manager once its time for them to come online.
Interface for EntityManagerConfig factories
Each Doctrine MappingDriver must be wrapped by this class, so all Drivers can be loaded correctly during the bootstrap of the application Each new Doctrine MappingDriver must also be wrapped in a new instance of this class
Specify a namespace for a Doctrine ORM driver, as well as what kind of mapping driver it should be.
The standard package entity manager provider. If the package enables legacy namespaces, the provider simply creates a namespace at Concrete\Package\PackageHandle\Src, and considers all classes found at package/package_handle/src potential entities. If the legacy namespace is not enabled, we look for entities at Concrete\Package\PackageHandle\Entity, which maps to packages/package_handle/src/Entity. Additionally, by default any additional autoloader registries are all considered possible entity locations and namespaces.
Implement this in your package controller if you'd like to provide a custom entity manager.
Anything implementing the Provider interface is able to delivery one or more entity manager drivers. Currently the Concrete\Core\Package\Package class (extended by all package controllers) is the only object that implements this interface.
A simple, standard package provider; provide a Concrete\Core\Package\Package controller, and a path (or array of paths) to PHP entity classes. This uses the annotation driver.
Use this provider if you wish to store your entity metadata in XML files.
Use this provider if you wish to store your entity metadata in YAML files.
Class Device A representation of a device.
Class Device A representation of a device.
Interface that all rich-text editors must implement.
Entity representing a thumbnail type.
Entity representing the association between a thumbnail type and file sets.
Represents a version of a file.
Represent Geolocator library.
Handles joining a page object to template objects. Every time a new page version is approved we rebuild this association against the page (much like the PagePath object). This doesn't join directly to the HTML of template, but to the template object only.
Represent an IP Access Control Category.
Represent an IP Access Control Event.
Represent an IP Access Control Range.
Represents a site locale.
Class StackUsageRecord
Class StackUsageRecord
Class ErrorHandler.
Represents an error that can be safely shown to users.
Class to clone express entities.
A Writer class for Express Entry objects
This is a simple registry class to codify all the core features used by the asset system. Features listed in here are provided in some capacity by the core. Fundamental features like pages, files and users aren't used by the block feature system, because it's assumed the core will always have these available. However, they may be used in the future with a fully modular installation procedure.
Denotes that a particular block controller uses features, and allows the block controller to specify which features it requires to function. This allows blocks like the calendar, for example, to specify that they require the Calendar feature to function, which lets them use the feature fallback if the current theme doesn't support those features.
Decorator class around Laminas\Feed\Reader\Entry\Rss that adds sanitization
The result of file import.
Class ExternalFileEntry
Class ExternalFileProviderFactory Get ahold of existing external file providers and create new ones.
Service class for the File entity
Helper class for bitmap image formats.
Class AtomicThumbnailStream Outputs a stream of thumbnails in an atomic way. This ensures a thumbnail will only be built on a single thread at a time
Interface ThumbnailerInterface An interface for classes tasked with creating thumbnails. This interace requires imagine.
Handles regular and retina thumbnails. e.g. Each thumbnail type has two versions of itself the regular one and the 2x one.
A class to be used to import files into the application file manager.
Options to be used when importing a file.
Represents a file being imported.
A seervice class to manage data in the "incoming" folder.
File helper.
Wrapper for ZIP functions.
Represents a file set.
Implementations of this interface will provide their own path in the event that
Class StorageLocation
Class StorageLocationFactory Get ahold of existing storage locations and create new ones.
An inspector to process FLV (Flash Video) files.
An inspector to process image files.
Abstract class that all the file inspectors must extend.
Helper elements for validating uploaded and existing files in Concrete.
An object-oriented wrapper for core element functionality, with support for events, locators, controllers and elements.
Class Icon
A simple class for registering context to view bindings, in the event that certain contexts ought to deliver different views. (Used by Express Attribute Key View vs Form).
A picker for DestinationPicker that allows users specify an email address.
A picker for DestinationPicker that allows users specify an external URL.
A picker for DestinationPicker that allows users specify a concrete5 file.
A picker for DestinationPicker that allows users specify no value.
A picker for DestinationPicker that allows users specify a concrete5 page.
Helpful functions for working with forms. Includes HTML input tags and the like.
Helper functions to use with validating submitting forms.
A class loader that uses the class alias list.
Provides autoloading for concrete5 Typically getInstance() should be used rather than instantiating a new object.
Interface AsyncCommandInterface Marks a command as asynchronous when used with the default bus.
This is a convenience superclass. You do NOT have to use this in order to use the command bus. This command will automatically provide a handler for you in the same namespace as your command.
Deprecated. Use Concrete\Core\Filesystem\FileLocator instead.
Class EnvironmentDetector.
Useful functions for getting paths for concrete5 items.
A PSR-4 compatible class loader.
Abstract repetition class This class is used to define and match against various time windows.
Default HTTP Runner.
Extending this class allows groups of services to be registered at once.
Helper class to render a Font Awesome 5 icon.
Functions to help with using HTML. Does not include form elements - those have their own helper.
Heavily based on BinaryFileResponse represents an HTTP response delivering a file.
Class ApiLoggerMiddleware
Middleware for applying state changes to the application
Middleware for adding and deleting cookies to an http response.
A middleware delegate for dispatching a request and returning a response.
Middleware for applying frame options
A middleware delegate for running the next middleware
The default stack used to keep track of middleware and process requests
Guzzle HTTP message factory. Credits to https://github.com/Majkl578/symfony-guzzle-psr7-bridge
An object that represents a particular request to the Concrete-powered website. The request object then determines what is being requested, based on the path, and presents itself to the rest of the dispatcher (which loads the page, etc...).
An object that represents a particular request to the Concrete-powered website. The request object then determines what is being requested, based on the path, and presents itself to the rest of the dispatcher (which loads the page, etc...).
Interface for the checks to be performed against the connection before installing concrete5 but after the configuration has been specified.
Interface for the checks to be performed before installing concrete5 but after the configuration has been specified.
Interface for the checks to be performed before installing concrete5.
The result of a precondition check.
Service class for installation preconditions.
Interface for the checks to be performed before installing concrete5 that need a web environment.
Wrapper class for our batching specifically for use with jobs to minimize backward compatibility headaches.
A wrapper class for data coming into processQueueItem so transitioning to the version 9 queue is mostly pain-free.
Class Avatar.
An object that allows a filtered list of files to be returned.
This is deprecated. It will be removed. Use Core::make('image/thumbnailer') to grab the current class instead.
An object that allows a filtered list of pages to be returned.
An object that allows a filtered list of users to be returned.
The core translator adapter factory is a wrapper factory that abstracts the translator creation based on the passed locale. By default, a translator instance will be created through the LaminasTranslatorAdapterFactory.
Translation loader that loads the concrete5 core translations for the Laminas translation adapter.
Translation loader that loads the package translations for the Laminas translation adapter.
Translation loader that loads the site interface translations for the Laminas translation adapter.
Translator adapter that wraps the Laminas translator to provide the translator methods needed in concrete5.
Provides a factory method to create translator objects for the Laminas translator.
Translator adapter that wraps the plain translator to provide the translator methods needed in concrete5.
Provides a factory method to create translator objects for the plain translator.
Abstract translation loader provides general methods needed in most translation loader implementations.
Translation loaders provide a standardized way to load new translations into the translator adapters.
Basic implementation of the TranslationLoaderRepositoryInterface.
Translation loader repositories provide a way to store multiple translation loaders.
Translator adapter factories provide factory method for creating a new translator adapter.
Translator adapters wrap the functionality of a specific translator class into a format that can be used within the concrete5 context.
Basic implementation of the TranslatorAdapterRepositoryInterface.
Translator adapter repository can store any number of translator adapters.
An interface for making complex log entries
Log entry for users being added to groups
Log entry for users being removed from groups
Log entry for group actions
Log entry for group actions for a user
Log entry for permission assignments
Log entry for user login attempts
Log entry for user actions
Interface LoggerAwareInterface
Trait LoggerAwareTrait A trait used with LoggerAwareInterface
A processor for adding the Concrete user into the extra log info
A processor for packing $_SERVER info into the extra log info
This interface declares awareness of the message bus.
A trait used with MessageBusAwareInterface
This class is used to send responses when using app-powered message consumption. This is the default because it relies on zero configuration but you really should use the CLI messenger:consume command instead.
Messages with this stamp applied will never be sent to an async sender. Useful for working with messages consumed via the console.
A decorator for the default Doctrine Transport Connection.
A convenient wrapper for all of the various objects that comprise a Symfony Messenger Transport.
Class NavigationModifier
Used by all core events that want to interact with Mercure. Translates event names into topics, etc.
Responsible for translating a Concrete server event object into something the Mercure Hub can work with natively
All topics that work with the core CMS should use this. It's just a convenience method so that we don't have to always remember and pass our canonical URL
Package dependency failure.
Package dependency failure: a package doesn't want another package.
Package dependency failure: a package can't be installed since it requires another package that's not installed.
Package dependency failure: an installed package can't be uninstalled since it's required by another package.
Package dependency failure: a package requires specific versions of another package.
Exception thrown while inspecting an offline package.
Class that extracts information from package controller.php files.
Represents the package details extracted from a package controller.php file.
Base class for actual parsers that extract informations from package controller files.
The token parser for concrete5 5.7+ packages.
The token parser for legacy (prior to concrete5 5.7) packages.
This class is responsible for unpacking themes that have been zipped and uploaded to the system.
Service class for the package entities and controllers.
Filter out files accordingly to their type.
Interface that filters that change/exclude package files must implement.
Expand the short PHP open tags (and optionally the short PHP echo tags).
Generate bitmap icons starting from source SVG icons.
Generate compiled .mo translation files from source .po translation files.
Class to create archives from package source files.
Class that save the package files to a new directory.
Class that updates the source package directory.
Interface that persists package files after the filters have been applied.
Class that generate a ZIP archive containing the package files.
Interface AttachModeCompatibleRoutineInterface.
A class to copy pages and page versions.
A class representing the options for the page/collection/version Cloner.
An object that holds a list of collection versions.
An object that holds a list of versions for a particular collection.
Class IconRepository
Responsible for locating and rendering templates in a theme.
Deprecated. Just implement DashboardExpressEntityTrait instead.
Abstract controller for extending Concrete CMS through the Dashboard.
The page object in Concrete encapsulates all the functionality used by a typical page and their contents including blocks, page metadata, page permissions.
An object that allows a filtered list of pages to be returned.
SinglePage extends the page class for those instances of pages that have no type, and are special "single pages" within the system.
Class to be used to generate the list of the pages that should be included in a sitemap.xml file.
Class to be used to generate the elements to be included in a sitemap.xml file.
Class Pile.
Class Stack.
This is a trait you can add to your theme's PageTheme class if it is built with the Concrete bedrock. That means it includes the bedrock SCSS and JS files. If your theme's JS and CSS files include these starter assets, you'll automatically need to require jQuery and Bootstrap4, and you'll automatically support the bootstrap4 grid system.
This command is used by the legacy non-skin-based customizer.
This command is used by the legacy non-skin-based customizer.
When activating a theme, any file within the theme is loaded into the system as a Page Theme File. At that point the file can then be used to create a new page type.
A page's theme is a pointer to a directory containing templates, CSS files and optionally PHP includes, images and JavaScript files.
Class RouteCollection. Holds specific special route/theme combinations. These are functions that used to live in the Router class but it makes no sense for them to take up space there.
Abstrct class for task handles that does not have a permission object.
Abstrct class for task handles that use a permission object.
Not used, but upgrading without this class presents problems – easiest to just keep it here for now
We need this class in place because upgrades from older versions die early before upgrade can be complete without it.
Class CollectionVersionResponse.
Pretty much all the Index anyone ever needs.
Default Search Index Manager This manager allows indexing a type against all applicable registered indexes.
Interface IndexInterface
Provides messages to the reindexer for common objects
Processes a thousand requests and builds pagination out of them.
Class QueryFactory
Class QueryModifier
Class ResultFactory
Interface describing a configurable rule for the web server.
Represents an option for a configurable rule.
A single rule for the web server.
Interface describing a single rule for the web server.
Class Session.
Class SessionFactory Base concrete5 session factory.
Interface FactoryInterface An object that can create symfony sessions.
Class SessionValidator Base concrete5 session validator, validates the IP and the agent across requests.
Redis based session storage handler based on the Redis class provided by the PHP redis extension.
A repository stand-in that allows for accessing a site's config
A class that enables multisite support on a single Concrete installation. Responsible for detecting whether multisite is enabled, and responsible for enabling multisite, creating shared folders, etc.
Class PolyTracker
A tracker that employes \Illuminate\Support\Manager
to keep track of a list of Trackers.
Interface TrackableInterface Implement this interface to declare compatibility with the statistic tracker.
Class LegacyNormalizer
A way to normalize SCSS/LESS variables that can be injected into different compilers, stored in the database etc.
Responsible for creating a normalized collection of LESS/SCSS variables from a variety of input sources
Used by the legacy customizer, this preview handler loops through all customizable style sheets in the theme's root and saves them into the cache, which is then used by the getStylesheet method in the page.
Responsible for looking at a style list and turning that list into a collection of variables fed to the customizer Why do we need this class? Because some types of controls like TypeStyle can have sub controls, but we want to know about their variables at a high level.
Class StyleValueList Responsible for joining the styles found in a theme's styles.xml file with the actual values they have in a particular context.
Responsible for creating style value lists from a variable collection.
Responsible for writing CSS into the filesystem for use with a particular skin.
Responsible for joining fields in the system to actual data gleaned from an object.
Represents a piece of data that is stored against a data field. Needs to be serializable and renderable.
Represents a link.
Represents a link to a page on your site by path. Useful to separate these from the basic link because these paths are run through the URL::to() mechanism to ensure they work irrespective of pretty URL settings, and when Concrete is installed in a subdirectory.
Responsible for extracting all data fields from a Collection object. Primarily exists in order to handle lazy loading and more exotic data field use cases.
Responsible for getting the category member from a summary object.
Responsible for taking an instance of a category's object (e.g. a Page object), and saving all the available summary templates that can be used with that object.
Responsible for taking a summary category handle, retrieving all the possible templates available for that handle taking a collection of summary data fields, and returning only those templates that are available given their summary field requirements
Responsible for locating and rendering summary templates.
Options for PhpFixer.
Wrapper to PHP-CS-Fixer.
Adapted and included from Laravel's Support Facade class.
Helper class to generate PHPDoc.
Exception thrown when a mutex key is not valid.
Represent a class that can offer a mutually-exclusive system that allows, for instance, to be sure to run some code just once even in concurrent situations.
Trait that contains stuff that can be useful for Mutexes.
Interface that migrations that take long time to be executed should implement.
Exception thrown when the migration.
Conversations Ratings Page Review Migration.
Class Version20170316000000.
Auto-generated Migration: Please modify to your needs!
Install OIDC scope
Update all oauth2 clients to have a consent type of CONSENT_SIMPLE
Update scope descriptions and connect access tokens to refresh tokens
Update scope descriptions and install missing scopes on upgrades.
This migration updates topic category names imported from 5.x.
Auto-generated Migration: Please modify to your needs!
Auto-generated Migration: Please modify to your needs!
Adds the inset option to styles
Interface that migrations that can be safely re-executed should implement.
c5 specific path component for league/url.
Class Normalizer Normalize paths and domains in a standard way
Interface NormalizerInterface Normalize domains and paths
Class RouteUrlResolver.
Helper class to work with SEO canonical URLs.
Useful functions when working with "My Account" functionality
An interface implemented by all "User" exceptions
This class simply exists as an intermediary between the local group repository and the Group::getByPath() method.
A service for tracking and acting upon login attempts This service is NOT in charge of logging in users, it is meant to react to attempts
This method is less of a "service" and more of a controller It deals with deactivated user events
Class to handle the URL to redirect users to upon login.
A helper that allows the creation of unique strings, for use when creating hashes, identifiers.
Functions useful for validating strings.
Abstract class for managing translatable requirements and errors.
A generic validator cabable of describing itself and validating mixed values using closures.
Validate the length of a string.
Validate the length of a string.
Validate the length of a string.
Validate the length of a string.
Validate the length of a string.
A modifier to the standard validator interface that enables translatable requirements and errors.
A generic validator cabable of describing itself and validating mixed values, with the possibility to specify the subject for whom a value is valid.
A trait that provides an implementation of ValidatorInterface::isValid
A generic validator cabable of describing itself and validating mixed values.
A generic validator manager interface that enables validating against many validators at once.
A generic validator manager interface that enables validating against many validators at once.
A generic validator manager interface that enables validating against many validators at once.
Abstract view class
Includes a file with all of the functionality of views and controller. Simply takes a path to a file.
This is the final workflow that fires any time a workflow request is triggered. It HAS to be final because it takes care of approving the workflow request object. If a previous workflow actually exists and fires, this workflow is skipped because the previous workflow cancels it.
Base class for workflow progresses.
Use this class to denote when a workflow can be approved immediately by the user requesting it, so it is effectively skipped Class SkippedResponse